![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приветствую Мастеров! Очень нужная задача, есть. [D5, Win95/98, NT4, Win2k]
IronHawk © (2002-05-09 01:05:00)Хелп, плз.
Есть форма в ней ЛистБокс и Мемо.
В ЛистБоксе немерянно строк (или 20, как кому удобней), Надо по ДаблКлику в строке ЛистБокса копирить её текст в Мемо,
после, если поставить курсор в середину или ещё где, набора символов перенесённых из ЛистБокса а потом БаблКликнуть в ЛистБоксе снова в другой строке, то чтоб новый текст из строки ЛистБокса сунулся туда где стоял курсор в Мемо, как Вы помните где-то в середине или около того!
Очень нуна, решить такой трудный задача!
. . . заранне благодарен.
IronHawk (2002-05-10 10:51:00) [1]
> McSimm © (10.05.02 10:13)
> Memo1.Perform(EM_REPLACESEL, 0, Integer(PChar(ListBox1.Items[ListBox1.ItemIndex])))
Cамо оно, спасибо.
Круто, самое классное решение!
Спасибо!!!
McSimm (2002-05-10 10:13:00) [2]Memo1.Perform(EM_REPLACESEL, 0, Integer(PChar(ListBox1.Items[ListBox1.ItemIndex])))
IronHawk (2002-05-10 00:12:00) [3]
> [NIKEL] © (09.05.02 23:45)
> через буфер обмена...
Через WinAPI и БЕЗ буфера обмена !
[NIKEL] (2002-05-09 23:45:00) [4]через буфер обмена...
IronHawk (2002-05-09 23:36:00) [5]
> Song © (09.05.02 22:52)
> Видимо только Вы...
Не, я серьёзно.
Мне сказали что так можно сделать, но не сказали как именно :-(.
Song (2002-05-09 22:52:00) [6]Видимо только Вы...
IronHawk (2002-05-09 22:50:00) [7]А кто знает как эту задачку решить в 3-4 строчки через WinAPI?
VID (2002-05-09 02:29:00) [8]to ion t: а нельзя сразу : insert (listbox1.items[listbox1.itemindex], memo1.text, selstart ) ?
ION T (2002-05-09 02:25:00) [9]Шо стало с тегом меня не спрашивайте....
ION T (2002-05-09 02:22:00) [10]Менее простой вариант:
procedure TForm1.ListBox1DblClick(Sender: TObject);
var tmp: string;
SelStart: integer;
begin
tmp:= memo1.Lines.GetText;
SelStart:= memo1.SelStart+ 1;
insert(ListBox1.Items[ListBox1.ItemIndex],
tmp, SelStart);
memo1.Lines.SetText(PChar(tmp));
memo1.SelStart:= SelStart;
end;CODE>
Чем больше в мемо текста, тем медленнее будет работать.....можно конечно не копировать весь текст, а находить строку в которой находится символ с индексом SelStart методом сравнивания длин строк до нахождения нужной, но если текста всё-же много, а вставить надо в конец, то всё равно будет тормозить......
IronHawk (2002-05-09 02:00:00) [11]
> Almaz © (09.05.02 01:18)
> Наиболее простой вариант:
>
> uses ..., Сlipbrd;
Спасибо, но только не клипборд ПЛЗ!
Almaz (2002-05-09 01:18:00) [12]Наиболее простой вариант:
uses ..., Сlipbrd;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Listbox1.Items[Listbox1.ItemIndex]));
Memo1.PasteFromClipboard;
end;
Удачи.