![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 04.12.2008
Сообщений: 7
|
![]()
Здравствуйте. Вотъ у меня есть список, тип плей листа с путями файлов мр3, как мне по кнопке скопировать файлы из этого списка, причём конечную директорию выбрать самому, тип opendialog к месту назначения. Всё, что я нашёл по копированию файлов-это прописанный файлы копируются в прописанную директорию. Помогите пожалуйста
|
![]() |
![]() |
![]() |
#2 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
![]()
Вывод диалога для выбора каталога
uses ShellAPI, ShlObj; ... procedure TForm1.Button1Click(Sender: TObject); var TitleName : string; lpItemID : PItemIDList; BrowseInfo : TBrowseInfo; DisplayName : array[0..MAX_PATH] of char; TempPath : array[0..MAX_PATH] of char; begin FillChar(BrowseInfo, sizeof(TBrowseInfo), #0); BrowseInfo.hwndOwner := Form1.Handle; BrowseInfo.pszDisplayName := @DisplayName; TitleName := 'Please specify a directory'; BrowseInfo.lpszTitle := PChar(TitleName); BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS; lpItemID := SHBrowseForFolder(BrowseInfo); if lpItemId <> nil then begin SHGetPathFromIDList(lpItemID, TempPath); ShowMessage(TempPath); GlobalFreePtr(lpItemID); end; end; Проект Delphi World © Выпуск 2002 - 2004 Автор проекта: ___Nikolay
вступлю в команду разработчиков ПО на Delphi
|
![]() |
![]() |
![]() |
#3 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
![]()
Копирование методом потока
procedure FileCopy(const SourceFileName, TargetFileName: string); var S, T : TFileStream; begin S := TFileStream.Create(sourcefilename, fmOpenRead ); try T := TFileStream.Create(targetfilename, fmOpenWrite or fmCreate); try T.CopyFrom(S, S.Size ) ; FileSetDate(T.Handle, FileGetDate(S.Handle)); finally T.Free; end; finally S.Free; end; end;
вступлю в команду разработчиков ПО на Delphi
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 04.12.2008
Сообщений: 7
|
![]()
Спасибо за быстрый ответ, но я не совсем понял, я начинающий. Когда я на кнопку ставллю процедуру открытия диалога, то как мне сделать чтобы после выбора папки начиналось копирование, причём файлов, указанных в listbox-е. Мне как-то нужно вызвать процедуру FileCopy в процедуре на кнопке? И как всё же копировать файлы из списка я так и не понял((
|
![]() |
![]() |
![]() |
#5 | |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]() Цитата:
Добавьте в uses FileCtrl; А вот сам код по нажатию кнопки: Код:
|
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 04.12.2008
Сообщений: 7
|
![]()
Поставил данный код на кнопку...Хм...почему-то ничего не происходит после выбора директории....
![]() |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 04.12.2008
Сообщений: 7
|
![]()
>А у Вас в ЛистБоксе полные имена файлов с путями прописаны?
да вроде, я не совсем понимаю как именно, я из исходника плеера оставил плейлист. Путь прописан а в лист боксе только имя и расшерение файла... |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
Конечно он не будет копировать, т.к. исходного то файла найти без пути не может.
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 04.12.2008
Сообщений: 7
|
![]()
Спасибо огромное, вы очень мне помогли!!! Вроде копируется...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копировать лист и задать имя | Leanna | Microsoft Office Excel | 5 | 19.02.2008 16:40 |
Как копировать и одновременно переименовывать файлы? | eriser | Помощь студентам | 4 | 17.01.2008 17:51 |
как копировать файлы Kaspersky Anti-Virus Personal\5.0\Bases\*.* | Podlec | Безопасность, Шифрование | 3 | 16.11.2007 11:37 |