|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2008, 23:03 | #1 |
Пользователь
Регистрация: 02.11.2007
Сообщений: 20
|
Копирование файлов
Здравствуйте! Подскажите, пожалуйста, как можно скопировать файлы, выбранные пользователем на FileListBox (с помощью функций MultiSelect) в определённую директорию. Я вот пытаюсь воспользоваться CopyFile(PChar(FileListBox1),'имя нужной директории',true), но пока безуспешно. Просто это достаточно традиционная функция во многих программах, вот я и подумала, может кто сталкивался с этим? Спасибо за внимание.
|
26.02.2008, 23:08 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
В чём безуспешность? Уж не в том ли, что не
Код:
Код:
|
26.02.2008, 23:23 | #3 |
Пользователь
Регистрация: 02.11.2007
Сообщений: 20
|
Нет, так не получается...имена должны быть те же самые, а вот имя директории, куда копировать выбранные файлы, задаёт пользователь, вот такая ситуация
|
26.02.2008, 23:38 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
В функцию CopyFile нужно передавать полные пути файлов, независимо от того, такие же они или нет, а не просто 'имя нужной директории'.
|
26.02.2008, 23:57 | #5 |
Пользователь
Регистрация: 02.11.2007
Сообщений: 20
|
Я понимаю, но увы, ничего не копируется, просто папка остаётся пуста...у меня подозрение, что просто такое копирование осуществляется вообще другим способом. Спасибо за ответы
|
27.02.2008, 00:08 | #6 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
1. Показывайте содержимое Ваших строк 2. Объявите целую переменную, скажем e : cardinal, после CopyFile ставьте строчку Код:
|
|
27.02.2008, 00:31 | #7 |
Пользователь
Регистрация: 02.11.2007
Сообщений: 20
|
Получилось e=2
|
27.02.2008, 00:35 | #8 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
"The system cannot find the file specified." - Что и требовалось доказать. Видимо проблема вот здесь: PChar(FileListBox1). Чему равна FileListBox1?
----------------- А еще лучше - обе строки - и откуда, и куда. Последний раз редактировалось B_N; 27.02.2008 в 00:40. |
27.02.2008, 19:14 | #9 |
Пользователь
Регистрация: 02.11.2007
Сообщений: 20
|
У меня всё-таки получилось, возможно не самый рациональный путь, но делает то, что надо:
progressbar1.Position:=0; progressbar1.Max:=FileListBox1.SelC ount; for t:=0 to FileListBox1.Items.Count-1 do if FileListBox1.Selected[t]=true then begin iii:=FileListBox1.Items.Strings[t]; CopyFile(PChar(FileListBox1.Directo ry+'\'+iii),PChar('имя нужной директории'+'\'+iii),true); progressbar1.StepBy(1); Application.ProcessMessages; end; (progressbar отображает процесс копирования, данный объект расположен во вкладке Win32) |
27.02.2008, 19:34 | #10 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Чтобы прогрессбар еще лучше работал, есть CopyFileEx
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование файлов | Artificial | Помощь студентам | 5 | 05.06.2008 18:42 |
Копирование файлов на FTP | Dj_smart | Общие вопросы Delphi | 2 | 05.03.2008 09:04 |
копирование файлов | matus | Общие вопросы Delphi | 2 | 07.11.2007 21:57 |
Копирование файлов | Devil_uu | Помощь студентам | 2 | 24.03.2007 20:27 |