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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.09.2014, 14:49
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Никак не получается скопировать файлы с диска

Приветствую всех!

Использую функцию:
Код:
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var F : TShFileOpStruct;
begin
  F.Wnd := 0;
  F.wFunc := FO_COPY;
  FromFile:=FromFile+#0;
  F.pFrom:=pchar(FromFile);
  ToDir:=ToDir+#0;
  F.pTo:=pchar(ToDir);
  F.fFlags := FOF_RENAMEONCOLLISION or FOF_NOCONFIRMMKDIR;
  result:=ShFileOperation(F) = 0;
end;

Пытаюсь скопировать папку с файлами (с CDROM'а) в папку "Windows"

Код:
var
  WinDir : string;
  Path: string;

begin
  Path:= ExtractFileDrive(ParamStr(0))+'\I386\Tweaks\';
  WinDir := GetEnvironmentVariable('WinDir')+'\Config\Tweaks\';

  WindowsCopyFile(Path,WinDir);
end;

Не получается. Что самое интересно, на 7-ке все работает, а вот на XP - Выдает ошибку - "Не удается скопировать файл. Не удается произвести чтение из файла или с диска."

Как вы думаете, в чем проблема и как с этим бороться?

Последний раз редактировалось Alloc, 23.09.2014 в 23:06.
Ответить с цитированием
  #2  
Старый 24.09.2014, 18:37
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

во-первых:
Цитата:
pFrom
Pointer to a buffer that specifies one or more source file names. Multiple names must be null-separated. The list of names must be double null-terminated.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Alloc (28.09.2014)
  #3  
Старый 25.09.2014, 00:47
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
во-первых:
будьте любезны, расшифруйте пожалуйста, как быть и что делать? Я не зря написал в этот раздел (для Начинающих).

Заранее спасибо.
Ответить с цитированием
  #4  
Старый 25.09.2014, 12:22
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

попробуй так

Код:
 Path:= ExtractFileDrive(ParamStr(0))+'\I386\Tweaks\*.*';
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
Alloc (28.09.2014)
  #5  
Старый 25.09.2014, 22:41
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да просто имена файлов должны разделяться нулевым байтом (#0),а в конце таких пара
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Alloc (28.09.2014)
  #6  
Старый 28.09.2014, 15:27
Аватар для Alloc
Alloc Alloc вне форума
Начинающий
 
Регистрация: 17.09.2014
Сообщения: 104
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо за ответы, все работает. Просто меня удивило то, что этот код без проблем работает на 7-ке а на ХР нет.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter