Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.04.2013, 17:45
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
Вопрос путь к файлам в папке?

Какой элемент использовать чтобы можно было выбрать папку, и узнать путь ко всем файлам что в ней есть? Ну и скажем записать их в лист бокс или ещё куда либо?
Ответить с цитированием
  #2  
Старый 26.04.2013, 17:47
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если список файлов, то явно OpenDialog использовать. А если еще и опцию MultiSelect в нем выбрать, можно и конкретные файлы будет выбрать.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 26.04.2013, 17:50
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Если список файлов, то явно OpenDialog использовать. А если еще и опцию MultiSelect в нем выбрать, можно и конкретные файлы будет выбрать.
А путь к файлам как записать допустим в листбокс?
Ответить с цитированием
  #4  
Старый 26.04.2013, 17:54
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Код:
 OpenDialog1.Options := OpenDialog1.Options + [ofAllowMultiSelect];
 if not OpenDialog1.Execute then Exit;
 Edit1.Text := ExtractFilePath(OpenDialog1.FileName);
 ListBox1.Items := OpenDialog1.Files;
Зачем записывать в ListBox путь к файлам? Ведь он для всех файлов будет один и тот же. А вот имена файлов без указания пути - вполне имеет смысл.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
cyborgg4655 (26.04.2013)
  #5  
Старый 26.04.2013, 17:59
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Дак мне просто нужно чтобы человек выбирал файлы, а потом пути к этим файлам сохранялись. чтобы потом их можно было вставить в другой опендиалог)
Ответить с цитированием
  #6  
Старый 26.04.2013, 18:03
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ха, это так просто не делается. Стандартный OpenDialog предполагает выбор файла/файлов из одной конкретной папки. Что-бы реализовать, то что вы хотите придется собирать свой диалог из компонентиков.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 26.04.2013, 18:13
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Скажем с помощью ShellTreeView, ShellListView и ListView можно вполне красиво это реализовать.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 26.04.2013, 18:57
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Ха, это так просто не делается. Стандартный OpenDialog предполагает выбор файла/файлов из одной конкретной папки. Что-бы реализовать, то что вы хотите придется собирать свой диалог из компонентиков.
Я уже все сделал)) Очень даже просто, мультиселектом выбираю файлы, их путь автоматом пишется в memo, а потом я их оттуда вытягиваю так memo1.lines[N]. Но вот не просто их вставлять в опен диалог, во первых это опендиалог сайта, во втроых надо копировать в буфер обмена memo1.lines[N] и когда опедиалог открывается эмитировать нажатие Ctrl+V, более просто выхода из ситуации пока не нашел)) Осталось тока понять как в буфер обмена копировать занчение memo1.lines[N]... Ты случайно не знаешь как это сделать?
Ответить с цитированием
  #9  
Старый 26.04.2013, 19:04
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Подключить модуль Clipbrd и использовать переменную Clipboard примерно так:
...

Код:
 Clipboard.Open;
 Clipboard.SetTextBuf(PChar(Memo1.Lines[N]));
 Clipboard.Close;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #10  
Старый 26.04.2013, 19:06
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Подключить модуль Clipbrd и использовать переменную Clipboard примерно так:
...

Код:
 Clipboard.Open;
 Clipboard.SetTextBuf(PChar(Memo1.Lines[N]));
 Clipboard.Close;
Спасибо, я тоже только что нашел как это сделать)))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:28.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025