![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перенос строки в Memo [D7, Win95/98, Win2k, WinXP]
paule © (2005-11-10 08:19:00)Необходимо, чтобы первая строка в Memo была длиной в 70 символов. Соответственно при вводе 71-ого необходимо чтобы курсор перескочил на другую строку. Делаю это так:
procedure TEl.PoruchKeyPress(Sender: TObject; var Key: Char);
var
k:integer;
begin
if (Length(Poruch.Lines.Strings[0])=70) and (Poruch.CaretPos.Y=0) then
Key:=#10;
end;
Но проблема в том, что строка перескакивает, но 71-ый символ съедается. Оно и понятно почему.
Пробовал поставить Key:=#10+Key; Дельфя ругается...
Подскажите как исправить проблему...
ShiFT (2005-11-10 09:12:00) [1]
if (Length(Memo1.Lines.Strings[0])=70) and (Memo1.CaretPos.Y=0) then
Memo1.Lines.Strings[0] := Memo1.Lines.Strings[0] + #13#10;
так вроде не съедает
paule (2005-11-10 09:10:00) [2]Ну по идее его пеернести надо по правилам... ну пока только задача стоит - обрезать. :)
ЮЮ (2005-11-10 08:49:00) [3]Можно попробовать символы первода добавить в конец Strings[0], не трогая сам Key.
З.Ы. А если часть текста ввести чкрез бувер обмена, то может статься, что
Length(Poruch.Lines.Strings[0]) станет сразу больше 70.
З.З.Ы. А что так и нужно - рвать слово посредине?