Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2013.06.16;
Скачать: [xml.tar.bz2];

Вниз

Как вставить строку в 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 вся ветка

Форум: "KOL";
Текущий архив: 2013.06.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1360177393
Nucer
2013-02-06 23:03
2013.06.16
Что за функция ntdll?


15-1360176424
alexdn
2013-02-06 22:47
2013.06.16
FireMonkey к VCL


15-1359210298
Sergey Masloff
2013-01-26 18:24
2013.06.16
филиал яндекса. теперь фотик


15-1360232154
Interrupt Directive
2013-02-07 14:15
2013.06.16
Внешний диск - не работает.


15-1360249924
Артём
2013-02-07 19:12
2013.06.16
CSS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский