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

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

Как при множественном выборе файлов засунуть их список в ListBox? [Delphi]


nsvi ©   (2002-11-07 15:32:00) 

Нужно осуществить множественный выбор файлов и их список засунуть в ListBox. В VСL это делаю так:
if OpenDialog1.Execute then
ListBox1.Items.Assign(OpenDialog1.Files);
В MSK так не получается, получается только по одному, хотя в диалоге разрешен выбор нескольких файлов:
if OpenSaveDialog1.Execute then
ListBox1.Add(OpenSaveDialog1.FileName);
Если оставишь так, то записывает все файлы в одну строку, поставишь OpenSaveDialog1.Files, то ругается. Ставишь ListBox1.AddStrings - тоже.
А как надо?


nsvi   (2002-11-08 05:21:00) [1]

Благодарю за ответ!
Я надеялся, что не надо разбивать строку списка файлов, а существует свойство у ListBox, позволяющее сразу вставить список Strings, а не разбивать его на составляюшие, а у OpenSaveDialog свойство Files, содержащее также Strings, а не одну строку String.
Ну чтоже, придется разбивать строку на составляющие.


Gandalf   (2002-11-07 16:22:00) [2]

Скажем так, первая строка - каталог! Возможно не лучше решение.
var
tmp:String;
p:Integer;
begin
if OpenSaveDialog1.Execute then
begin
tmp:=OpenSaveDialog1.FileName;
while True do
begin
p:=pos(#13,tmp);
if p<>0 then
begin
ListBox1.Add(Copy(tmp,1,p-1));
delete(tmp,1,p);
end
else
begin
ListBox1.Add(tmp);
Break;
end;
end;
end;
end;


Наверх

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