
12.12.2013, 18:26
|
 |
Профессионал
|
|
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
|
|
Цитата:
Сообщение от Lord_Vlad
Независимо от контента (даже если в нем пусто) в RichEdit, всегда и постоянно EM_GETLINE = 196,
|
Естественно. Это же константа
Цитата:
Сообщение от Lord_Vlad
Text - стабильный массив символов (одних и тех же).
|
Вот так на XE2 у меня заработало:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
para: String;
i: Integer;
Text: array [0..$fff] of Char;
L: Integer;
s: String;
begin
Memo1.Clear;
para := '';
for i := 0 to SendMessage(RichEdit1.Handle, EM_GETLINECOUNT, 0, 0) - 1 do
begin
Word((@Text)^) := Length(Text);
L := SendMessage(RichEdit1.Handle, EM_GETLINE, i, Integer(@Text));
SetString(s, Text, L);
para := para + s;
if Pos(#13, s) > 0 then
begin
Memo1.Lines.Add(para);
para := '';
end;
end;
end;
|