Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приветствую Мастеров! Очень нужная задача, есть. [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;


Удачи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо