Memo

  • Автор темы kyran29
  • Дата начала
K

kyran29

:) Добрый день!
Вопрос мой заключается вот в чем.
При выделении и копировании строк из одного поля Memo во второе поле Memo2.Lines.Add(Memo1.SelText). Это понятно!
Но как только курсор находится не вначале строки IntToStr(Memo1.SelStart) > 0
Копируется обрезанная строка, т.е. с того места, откуда начали выделять строки.
Как вернуть ту часть строки, которая не была выделена? Так же при окончании выделения. Если в строке выделено >= 3 символов, то выделяем целую строку, если < 3 выделение с этой строки выделение снимаем. Скопированные строки во втором поле Memo должны быть целые.
 

Вложения

  • Memo.jpg
    Memo.jpg
    29,5 КБ · Просмотры: 502
V

vital

Эмм.. А что подробнее? Этот код добавляет в Memo2 ту строку из Memo1 на которой находится Курсор. Все.
 
K

kyran29

Vital
Этот код добавляет в Memo2 ту строку из Memo1 на которой находится Курсор


При выделении строк, т.е. выделяем ни одну строку, а несколько. Не полными строки могут быть первая и последняя см. рис. Копируем все, но если строки первая и последняя выделены не полностью, добавляем, то, что не выделено и в первой строке и в последней.
 
V

vital

Код:
procedure TForm1.Memo1OnMouseDown(Sender: TObject);
begin
if Memo1.SelLength > 0 then запоминаешь y(игрек) позицию каретки как показано выше- это начальная строка
end;
Далее
Код:
procedure TForm1.Memo1OnMouseUp(Sender: TObject)
begin
копируешь во второй мемо текст из мемо 1 от ранее запомненной строки до строки где теперь находится каретка.
end.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!