|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.04.2007, 19:06 | #1 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
Лист
Люди подскажыте как перетащить элемент из Filelistbox в Listbox, и чтобы путь к файлу кудато тожэ запоминать, для того чтобы потом можно было обращатся к этому файлу.
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
13.04.2007, 22:16 | #2 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
Попробуй следующий код и не забудь выставить свойство DragMode у ListBox/FileListBox в dmAutomatic
Код:
Пусть баги обходят вас стороной
Последний раз редактировалось rpy3uH; 29.07.2008 в 12:50. |
14.04.2007, 14:01 | #3 | |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
Цитата:
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
|
14.04.2007, 18:09 | #4 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
а там уже написано как. через AllocMem
if (Source is TFileListBox) then begin Str := (Source as TFileListBox).FileName; { здесь мы выделяем память для хранения полного имени файла. когда путь будет уже не нужен, не забудь освободить память при помощи FreeMem. делается это примерно так: for I := 0 to ListBox1.Items.Count - 1 do try FreeMem( Pointer(ListBox1.Items.Objects[ I ]) ); except end; } >>>>>> Ptr := AllocMem( Length( Str ) + 1 ); <<<<<< // здес выделяется память CopyMemory( Ptr, @Str[ 1 ], Length( Str ) ); (Sender as TListBox).AddItem( ExtractFileName( Str ), TObject(Ptr) ); end;
Пусть баги обходят вас стороной
|
17.04.2007, 10:59 | #5 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
Спасибо, розобрался- работает!
Но возникла ещё одна проблема Как при нажатии в другой форме Button'а получить адрес файла(текущего или первого в списке ListBox'а) в какуюто переменную?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
17.04.2007, 11:34 | #6 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
в модуль, где находится форма с кнопкой в разделе implementation добавляешь uses <имя модуля, где форма с ListBox'ом>. проще всего это сделать через Alt + F11. теперь предположим, что форма с ListBox'ом называется Form1. тогда используешь следующий код:
procedure TForm2.Button1Click(Sender: TObject); var S : String; begin if Form1.ListBox1.ItemIndex > -1 then begin S := PChar(Form1.ListBox1.Items.Objects[ Form1.ListBox1.ItemIndex ]); ShowMessage( S ); end; end;
Пусть баги обходят вас стороной
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ICQClient контакт-лист | DOLBY | Компоненты Delphi | 6 | 14.11.2008 22:38 |
Добавить лист в pdf файл | jungo | Microsoft Office Excel | 1 | 10.07.2008 16:45 |
Word, ole, Альбомный лист | K@$K@ | Общие вопросы Delphi | 2 | 16.04.2008 22:38 |
защитить лист | zetrix | Microsoft Office Excel | 2 | 27.11.2006 17:21 |