-
Подскажите, пожалуйста. Без kol делал так: memo1.Lines.Insert(0,'Stroka'); Заранее спасибо.
-
Я мож чет не помню, но кажись так: Memo1.Add('sdafasdf');
А ваще читать книгу по KOL!!!
-
> Я мож чет не помню, но кажись так:Memo1.Add('sdafasdf'); > А ваще читать книгу по KOL!!!
Вообще-то я искал информацию в книге, но её там не нашел. Про Memo1.Add('sdafasdf'); я знаю, но это не то. Мне надо не добавить строку в конец текста, а вставить в нужное место в тексте.
На kol что ли надо самому писать такую функцию для вставки строки после указанной строки?
-
Пардон. Такой вариант подойдет?
Memo1.SelStart := ххх;
Memo1.Selection := 'text';
-
> Memo1.SelStart := ххх;Memo1.Selection := 'text';
Можно конечно это использовать, но может можно проще? Такой вариант не удобен, т.к. надо знать с какого места вставлять текст.
Ладно завтра попробую написать код. Но вроде должно быть все гораздо проще.
-
> memo1.Lines.Insert(0,'Stroka');А здесь не надо знать куда вставлять? Или Вам надо с начала? Тогда так: Memo1.Items[0] := 'Text';
-
Вот что придумал: 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; Может можно проще или только так делать?
-
Item2Pos - возвращает позицию символа в началу указанной строки. Есть Pos2Item, если что.
-
Спасибо. Через Item2Pos гораздо проще делать, чем так как я пытался.
|