memo текущая строка

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

memo текущая строка

Сообщение rellai2 »

как узнать текущую строку(в которой аходится курсор)?
в делфи это делалось так:EditExpr.Perform(em_LineIndex, $FFFF, 0);

как в лазарусе, я так и не понял (
Аватара пользователя
WindOfPain
новенький
Сообщения: 33
Зарегистрирован: 01.09.2009 21:18:23
Откуда: Санкт-Петербург

Сообщение WindOfPain »

Что-нибудь типа этого слепить можно:

Код: Выделить всё

function GetPosMemo(const Memo:TMemo):integer;
var
  s:string;
begin
     s:=Copy(Memo.Lines.Text,1,Memo.SelStart);
     Result:=1;
     while pos(#13#10,s)<>0 do
     begin
          delete(s,pos(#13#10,s),2);
          inc(Result);
     end;
end;


Правда, если фрагмент текста выделен, то будет возвращена строка, в которой находится начало выделения, а не текущая позиция курсора.
Polugut
новенький
Сообщения: 19
Зарегистрирован: 25.02.2010 22:50:29

Сообщение Polugut »

memo1.Lines[memo1.CaretPos.Y];
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

Попробовал!
Второй вариант подошел, все вопросы отпали, всем спасибо)
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Точно не помню, попробуй так:

Код: Выделить всё

   if key = VK_RETURN then
      begin
          EditExpr.Lines.Strings[EditExpr.CaretPos.Y]:='blablabla';
          key := 0;
      end;
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

ага спасибо, я так тоже уже сделал, это подошло )
Ответить