Вниз
Скачать: CL | DM;

Приветствую Мастеров! Очень нужная задача, есть.   Найти похожие ветки 

← →
IronHawk ©   (2002-05-09 01:05) [0]

Хелп, плз.
Есть форма в ней ЛистБокс и Мемо.
В ЛистБоксе немерянно строк (или 20, как кому удобней), Надо по ДаблКлику в строке ЛистБокса копирить её текст в Мемо,
после, если поставить курсор в середину или ещё где, набора символов перенесённых из ЛистБокса а потом БаблКликнуть в ЛистБоксе снова в другой строке, то чтоб новый текст из строки ЛистБокса сунулся туда где стоял курсор в Мемо, как Вы помните где-то в середине или около того!
Очень нуна, решить такой трудный задача!


. . . заранне благодарен.


← →
Almaz ©   (2002-05-09 01:18) [1]

Наиболее простой вариант:

uses ..., Сlipbrd;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Listbox1.Items[Listbox1.ItemIndex]));
Memo1.PasteFromClipboard;
end;


Удачи.


← →
IronHawk ©   (2002-05-09 02:00) [2]


> Almaz © (09.05.02 01:18)
> Наиболее простой вариант:
>
> uses ..., Сlipbrd;

Спасибо, но только не клипборд ПЛЗ!


← →
ION T ©   (2002-05-09 02:22) [3]

Менее простой вариант:

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 методом сравнивания длин строк до нахождения нужной, но если текста всё-же много, а вставить надо в конец, то всё равно будет тормозить......


← →
ION T ©   (2002-05-09 02:25) [4]

Шо стало с тегом меня не спрашивайте....


← →
VID ©   (2002-05-09 02:29) [5]

to ion t: а нельзя сразу : insert (listbox1.items[listbox1.itemindex], memo1.text, selstart ) ?


← →
IronHawk ©   (2002-05-09 22:50) [6]

А кто знает как эту задачку решить в 3-4 строчки через WinAPI?


← →
Song ©   (2002-05-09 22:52) [7]

Видимо только Вы...


← →
IronHawk ©   (2002-05-09 23:36) [8]


> Song © (09.05.02 22:52)
> Видимо только Вы...

Не, я серьёзно.
Мне сказали что так можно сделать, но не сказали как именно :-(.


← →
[NIKEL] ©   (2002-05-09 23:45) [9]

через буфер обмена...


← →
IronHawk ©   (2002-05-10 00:12) [10]


> [NIKEL] © (09.05.02 23:45)
> через буфер обмена...

Через WinAPI и БЕЗ буфера обмена !


← →
McSimm ©   (2002-05-10 10:13) [11]

Memo1.Perform(EM_REPLACESEL, 0, Integer(PChar(ListBox1.Items[ListBox1.ItemIndex])))


← →
IronHawk ©   (2002-05-10 10:51) [12]


> McSimm © (10.05.02 10:13)
> Memo1.Perform(EM_REPLACESEL, 0, Integer(PChar(ListBox1.Items[ListBox1.ItemIndex])))

Cамо оно, спасибо.
Круто, самое классное решение!
Спасибо!!!



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
3-72998
Rub
2002-04-25 15:07
2002.05.23
Посоветуйте, кто имел дело.....


6-73320
Hecker
2002-02-09 01:10
2002.05.23
Кто знает как?


14-73362
Masa
2002-04-15 11:35
2002.05.23
English please...


1-73257
Дмитрий Иванов
2002-05-05 20:14
2002.05.23
TThread и Physical Memory


1-73148
neax
2002-05-13 18:37
2002.05.23
Editor




   Наверх