Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.06.16;
Скачать: CL | DM;

Вниз

Как вставить строку в TkolMemo?   Найти похожие ветки 

 
Nikfel   (2009-06-26 18:28) [0]

Подскажите, пожалуйста. Без kol делал так:
memo1.Lines.Insert(0,"Stroka");
Заранее спасибо.


 
MTsv DN   (2009-06-26 18:54) [1]

Я мож чет не помню, но кажись так:
Memo1.Add("sdafasdf");

А ваще читать книгу по KOL!!!


 
Nikfel   (2009-06-26 19:00) [2]


> Я мож чет не помню, но кажись так:Memo1.Add("sdafasdf");
> А ваще читать книгу по KOL!!!


Вообще-то я искал информацию в книге, но её там не нашел. Про Memo1.Add("sdafasdf"); я знаю, но это не то. Мне надо не добавить строку в конец текста, а вставить в нужное место в тексте.

На kol что ли надо самому писать такую функцию для вставки строки после указанной строки?


 
MTsv DN   (2009-06-26 19:08) [3]

Пардон. Такой вариант подойдет?

Memo1.SelStart := ххх;
Memo1.Selection := "text";


 
Nikfel   (2009-06-26 19:25) [4]


> Memo1.SelStart := ххх;Memo1.Selection := "text";


Можно конечно это использовать, но может можно проще? Такой вариант не удобен, т.к. надо знать с какого места вставлять текст.

Ладно завтра попробую написать код. Но вроде должно быть все гораздо проще.


 
MTsv DN   (2009-06-26 19:59) [5]

> memo1.Lines.Insert(0,"Stroka");
А здесь не надо знать куда вставлять? Или Вам надо с начала? Тогда так:
Memo1.Items[0] := "Text";


 
Nikfel   (2009-06-27 16:40) [6]

Вот что придумал:

function InsertStart(strText:string; intID:integer):integer;
var strD:string;
i,d,k:integer;
begin
i:=pos(#13#10,strText);
d:=0;k:=0;
strD:=strText;
if i<>0 then if intID=0 then begin
result:=d;
exit;
end;
while i<>0 do begin
 inc(k);
 strD:=Copy(strD,i+2,Length(strD)-i);
 if k>0 then d:=d+i+1 else d:=d+i+2;
 if k=intID then begin
   result:=d;
   break;
 end;
 i:=pos(#13#10,strD);
end;
end;

procedure TForm1.ButtonClick(Sender: PObj);
begin
memo1.SelStart:=insertstart(memo1.Text,3);
memo1.Selection:="stroka"#13#10;
SendMessage(memo1.Handle,WM_LBUTTONDOWN,MK_LBUTTON,0);
SendMessage(memo1.Handle,WM_LBUTTONUP,MK_LBUTTON,0);
end;


Может можно проще или только так делать?


 
Vladimir Kladov ©   (2009-06-27 22:25) [7]

Item2Pos - возвращает позицию символа в началу указанной строки.
Есть Pos2Item, если что.


 
Nikfel   (2009-06-28 13:08) [8]

Спасибо. Через Item2Pos гораздо проще делать, чем так как я пытался.



Страницы: 1 вся ветка

Текущий архив: 2013.06.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1360300655
alexdn
2013-02-08 09:17
2013.06.16
Косм телескоп Джеймс Вебб


15-1359970962
Empleado
2013-02-04 13:42
2013.06.16
compressed http/https


15-1360528202
Юрий
2013-02-11 00:30
2013.06.16
С днем рождения ! 11 февраля 2013 понедельник


15-1360331510
Dimka Maslov
2013-02-08 17:51
2013.06.16
Ёксель и ShellExecute


11-1245326491
Barloggg
2009-06-18 16:01
2013.06.16
Stream.ReadStr