PDA

Просмотр полной версии : Коды ошибок.


Lihach
10.11.2007, 21:37
Люди добрые,подскажите,где найти коды ошибок delphi 7.0 с их описанием на РУССКОМ языке.:(
Да,и почему при выполнении функции copyfile delphi не копирует на C:\?
Вот что я имею ввиду:procedure TForm1.Button1Click(Sender: TObject);
begin

if copyfile('d:1.txt','d:2.txt',true) then
showmessage('скопирован')
else
showmessage(Ошибка: '+inttostr(getlasterror));
end;

end.
Так работает.Но стоит заменить d на с так ошика №2.

pluton
10.11.2007, 22:13
Люди добрые,подскажите,где найти коды ошибок delphi 7.0 с их описанием на РУССКОМ языке.
я думаю, такого нету. а даже если есть - то перевод там корявый (например, русский МСДН). так что бери английский хелп к делфи и какой-нибудь словарь (например ABBYY Lingvo 12 :super:) и понимай так

Но стоит заменить d на с так ошика №2.
Ошибка №2: ERROR_FILE_NOT_FOUND - The system cannot find the file specified.
то есть не найден файл. может нет прав на чтение/запись?

Lihach
13.11.2007, 21:24
Благодарствую....правда,я сам у себя на компе админ,я думаю мне всё можно...да и файл 1.txt на нём имеется.

pluton
13.11.2007, 23:16
'd:1.txt','d:2.txt'
работает без слешей? может, дело в этом
-или-
вот описание третьего параметра функции:
bFailIfExists
Specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.
попробуй поставить FALSE.

Lihach
14.11.2007, 22:11
Все тоже удивляются,что без слешей работает.Отвечу:Да,работает.
Такой вот метод копирования,скачал его с какого-то сайта посвященного Delphi.Что же про false,то работать однозанчно не будет.
Копирование файлов
В delphi есть функция copyfile. Вот ее описание из хелпа
bool copyfile(

lpctstr lpexistingfilename, // pointer to name of an existing file
lpctstr lpnewfilename, // pointer to filename to copy to
bool bfailifexists // flag for operation if file exists
);
Параметры передаваемые в эту функцию:
Указатель на имя существующего файла (нуль терминированная строка т.е. тип pchar! )
Указатель на имя файла, который будет создан/перезаписан после копирования (нуль терминированная строка т.е. тип pchar! )
Если этот параметр true и файл с таким именем уже существует, то функция вернет false. Если же файл, с именем указанным во втором параметре существует и в качестве третьего параметра передан false - то функция перезапишет файл и благополучно завершится.

pluton
14.11.2007, 22:17
Что же про false,то работать однозанчно не будет
почему не будет?
сейчас у теья стоит true. из хелпа: If this parameter is TRUE and the new file already exists, the function fails - тоесть, если новый файл есть, функция вернёт ошибку. а если false - перезапишет. так, попробуй

Lihach
22.11.2007, 16:55
Прогу сдал...Всем спасибо.