Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перенос строки в 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.

З.З.Ы. А что так и нужно - рвать слово посредине?


Наверх

Титульная страница Поиск, карта сайта Написать письмо