Memo

Delphi

18/02/2008

Ola pessoal,

Alguém sabe como faço para saber qual o número da linha em que o memo esta posicionado?

Abraço, Ricardo


Ricardo_ascii

Ricardo_ascii

Curtidas 0

Respostas

Arc

Arc

18/02/2008

na uses do form declare Memos

incluir 1 memo (name = Memo1) , 1 button (name = Button1) e um Panel (Name = Panel1)

no evento onclick do Button1

var

MemoLine,
MemoCol: Integer;
begin
GetMemoLineCol(Memo1, MemoLine, MemoCol);
Panel1.Caption := ´Line: ´ + IntToStr(MemoLine) +
´ Col: ´ + IntToStr(MemoCol);
end;


Memoline --> linha atual do memo1
MemoCol --> coluna atual do memo1


GOSTEI 0
Ricardo_ascii

Ricardo_ascii

18/02/2008

Ola meu amigo,


Primeiramente obrigado pelo retorno. Estou tentando fazer o procedimento e ele me da um erro de memos.dcu. Não acho esse arquivo. Sabe me dizer algo a respeito?

abraço

na uses do form declare Memos incluir 1 memo (name = Memo1) , 1 button (name = Button1) e um Panel (Name = Panel1) no evento onclick do Button1 var MemoLine, MemoCol: Integer; begin GetMemoLineCol(Memo1, MemoLine, MemoCol); Panel1.Caption := ´Line: ´ + IntToStr(MemoLine) + ´ Col: ´ + IntToStr(MemoCol); end; Memoline --> linha atual do memo1 MemoCol --> coluna atual do memo1



GOSTEI 0
Marco Salles

Marco Salles

18/02/2008

nunca vi na VCL do delphi (ate o delphi 7.0) nenhum recurso para isto

Uma solução é recorrer as mensagens do Windows ....

então vamos lá :

function GetMemoLin(Const Memo:Tmemo):integer;
 begin
  result:=SendMessage ( 
                   Memo.Handle, EM_LINEFROMCHAR,Memo.SelStart, 0);
end;


Para Chamar é so passar o Memo como parâmero:

exemplo:

Showmessage(IntToStr(GetMemoLin(Memo1)));


espero ter sido útil..


GOSTEI 0
Ricardo_ascii

Ricardo_ascii

18/02/2008

[quote:9a1901caeb=´Marco Salles´]nunca vi na VCL do delphi (ate o delphi 7.0) nenhum recurso para isto

Uma solução é recorrer as mensagens do Windows ....

então vamos lá :

function GetMemoLin(Const Memo:Tmemo):integer;
 begin
  result:=SendMessage ( 
                   Memo.Handle, EM_LINEFROMCHAR,Memo.SelStart, 0);
end;


Para Chamar é so passar o Memo como parâmero:

exemplo:

Showmessage(IntToStr(GetMemoLin(Memo1)));


espero ter sido útil..[/quote:9a1901caeb]

Oi Marco tudo bem?

Muito obrigado pela dica. Deu certinho! Valeu mesmo. Precisando estamos aí.

abraço, Ricardo


GOSTEI 0
POSTAR