| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > CheckListBox |
| Автор: AyanTai 26.12.2008, 13:34 |
| Доброго времени суток всем! Проблема такая: выбираю нужную директорию SelectDirectory, как можно отобразить dbf файлы из этой директории в CheckListBox? Просто не представляю как это сделать... procedure TForm1.btDirOut_ordClick(Sender: TObject); var tmp_path : string; begin if SelectDirectory('Выберите диркторию', '', tmp_path) then begin Edit2.text:=tmp_path; end; |
| Автор: newalex 26.12.2008, 13:55 | ||
Код на билдере, но думаю идея понятна.
|
| Автор: THandle 26.12.2008, 14:02 |
| Просто находишь все файлы с нужным расширением и добавляешь в CheckListBox. Посмотри темы: http://forum.vingrad.ru/sources/topic-205111.html http://forum.vingrad.ru/forum/topic-238020.html Вот этот код, думаю то что требуется: http://forum.vingrad.ru/index.php?showtopic=238020&view=findpost&p=1715688 |
| Автор: AyanTai 27.12.2008, 05:06 |
| Спасибо, сейчас гляну! |
| Автор: AyanTai 27.12.2008, 07:01 |
| все здорово - спасибо ребята - сделал! а как сделать так: для ВСЕХ выбранных файлов в CheckListBox dbf выполнять некую процедуру...? if CheckListBox1.selected[0] then <процедура> - так этож для конкретного файла....а для всех сразу ? |
| Автор: THandle 27.12.2008, 10:24 |
| AyanTai, хм... Ну объединяй все выбранные элементы в какой нибудь список(TStringList, массив...), или кто мешает поочередно, в цикле, для каждого по очереди вызывать нужную процедуру? |
| Автор: AyanTai 29.12.2008, 05:18 |
| у меня просто будет много файлов... и надо будет их все поочередно загонять на одну и ту же процедуру... |
| Автор: AyanTai 29.12.2008, 08:36 |
| Вопрос: вот у меня в CheckListBox1 выводятся найденные файлы, я один файл отметил галочкой, есть у CheckListBox1 свойство чтоб выдавал имя отмеченного файла??? что-то похожее на OpenDialog1.FileName |
| Автор: THandle 29.12.2008, 08:42 | ||
Ну а чем просто не угодило брать каждый раз отмеченный галочкой файл?
Proc тут - твоя процедура. http://forum.vingrad.ru/faq/topic-212851.html |
| Автор: AyanTai 29.12.2008, 08:47 |
| и как можно узнать количество отмеченных файлов в CheckListBox1?? просто хочу сделать цикл For i:=0 to кол-во отмеченных do begin if CheckListBox1.selected[i] then тут надо вывести название выбранного файла....((( <процедуры..> end; Добавлено через 3 минуты и 14 секунд THandle, спасибо!! Респект! буду делать) |
| Автор: THandle 29.12.2008, 08:58 | ||||
| AyanTai, Количество выделенных ты никак не узнаешь Для этого производится проверка на выделенность:
ну и with сюда для удобства:
А еще посмотри вот такой код(подсчет идет без цикла, прям во время нажатия), хотя тебе вряд ли пригодится тут этот вариант, но все же глянь: http://forum.vingrad.ru/index.php?showtopic=232132&view=findpost&p=1667962 |
| Автор: AyanTai 29.12.2008, 10:16 |
| THandle, ---- Спасибо!!!! |
| Автор: AyanTai 29.12.2008, 10:56 |
| а чтоб получить имя файла надо будет так сделать: procedure TForm1.Button2Click(Sender: TObject); var I: Integer; begin with CheckListBox1 do for I := 0 to Items.Count - 1 do if Selected[I] then Form1.ADOTable1.TableName:=ExtractFileName(CheckListBox1.Selected[I]); Proc(); end; ???? |
| Автор: THandle 29.12.2008, 13:40 | ||
AyanTai, в асе ответил
|