Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
ВнизCopyFile не работатет очень нужно помочь Найти похожие ветки
← →
koly01 (2002-10-11 12:28) [0]Здравствуйте ALL
Подскажите ктонть, я уже весь перематерился,
есть функция CopyFile(OldFile: PChar, newFile: PChar): Bool
исполдьзую ее для переноса файла, не работает, перенос файла делаю программно из Thread и данные о переносет либо нет заносяться в файл
Потом уже изрядно поиздевавшить над виндами и всеми его создателями ... включая свой руги и голову. Я решил действовать кординально создал новую форму с кнопкой и двумя полями и вставил туда функцию CopyFile(OldFile: PChar, newFile: PChar): Bool и все прекрасно работает ...
ПОМОГИТЕ люди что я не так делаю почему из Thread не работает а отдельно работает может имена файлов не правильного .
С Уважением к ALL
koly01
← →
Anatoly Podgoretsky (2002-10-11 12:31) [1]Из какого модуля это
← →
koly01 (2002-10-11 12:46) [2]НЕ понял вопроса ... если функция то API, если из какого модуля сохраняю ... то из модуля Thread... уточните пожалуйста.
← →
Smithson (2002-10-11 12:48) [3]Как я понял, CopyFile - самоделка. Посему - код в студию!
← →
Best Before 2024 (2002-10-11 12:48) [4]The CopyFile function copies an existing file to a new file.
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
);
Вот эта функция?
А эта откуда?
CopyFile(OldFile: PChar, newFile: PChar): Bool
← →
Nomad.kz (2002-10-11 12:54) [5]а это, имхо, из дельфей
← →
Nomad.kz (2002-10-11 12:55) [6]но лучше, опять же имхо, пользоваться потаком для копирования файла. Работает устойчиво и еще можно Progress Bar приделать.
← →
koly01 (2002-10-11 12:56) [7]Да да извиняюсь ...
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
);
я говорю именно про эту функцию.
← →
Best Before 2024 (2002-10-11 12:58) [8]Тут без куска кода не разобраться.
Может, файл уже есть или уже открыт кем-то, или путь неверный
Ждем-с!
← →
Nomad.kz (2002-10-11 12:59) [9]>>а это, имхо, из дельфей
пардон, PChar не заметил :(
← →
Anatoly Podgoretsky (2002-10-11 13:03) [10]Тогда у тебя не должно откомпилироваться, CopyFile(OldFile: PChar, newFile: PChar): Bool - два а не три параметра
Приведите точное определения функции, которое используется, предполагаемое название модуля и команду вызова, также сделать поиск по всему диску на предмет обнажение других CopyFile функций
← →
koly01 (2002-10-11 13:32) [11]
Function Thread_Stat.SaveFile_ToFolder(Name_OfFileAndPath: String; ErroreFlag: Boolean): Boolean;
var
PathToFile: String;
NameOfFile: String;
DateAndTime: String;
begin
//выбираем путь из имени файла
PathToFile := ExtractFileDir(Name_OfFileAndPath);
//Выбираем имя файла
NameOfFile := ExtractFileName(Name_OfFileAndPath);
//Функция проверяет есть ли папка, если есть то если erroreflag = yes, то
//копируем файл
if not ErroreFlag then
begin
//файл не ошибочный копируем его в папку Data
//Проверяем на сущ папку
if not DirectoryExists(PathToFile + "\DATA") then
begin
//Создаем директорию и копируем файл
if not CreateDir(PathToFile + "\DATA") then
begin
LogFileForStat("Directory " + PathToFile + "\DATA\ not create "+ " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
exit;
end;
end;
DateAndTime := ReplaceStr(DateTimeToStr(Date + Time), ".", "");
DateAndTime := ReplaceStr(DateAndTime, ":", "");
DateAndTime := ReplaceStr(DateAndTime, " ", "");
if FileExists(Name_OfFileAndPath) then
begin
//Копируем файл
if not CopyFile(PChar(Name_OfFileAndPath), PChar(PathToFile + "\DATA\DAT" + DateAndTime + ".PRO"), True) then
begin
LogFileForStat("File " + PathToFile + "\DATA\DAT" + DateAndTime + ".PRO" +" not copyed "+ " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
LogFileForStat("initial file " + Name_OfFileAndPath + " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
exit;
end;
end;
end
else
begin
//Файл Ошибочный
if not DirectoryExists(PathToFile + "\ERROR") then
begin
//Создаем директорию и копируем файл
if not CreateDir(PathToFile + "\ERROR") then
begin
LogFileForStat("Directory " + PathToFile + "\ERROR\ not create "+ " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
exit;
end;
end;
DateAndTime := ReplaceStr(DateTimeToStr(Date + Time), ".", "");
DateAndTime := ReplaceStr(DateAndTime, ":", "");
DateAndTime := ReplaceStr(DateAndTime, " ", "");
//Копируем файл
if FileExists(Name_OfFileAndPath) then
begin
if not CopyFile(PChar(Name_OfFileAndPath), PChar(PathToFile + "\ERROR\ERR" + DateAndTime + ".PRO"), True) then
begin
LogFileForStat("File " + PathToFile + "\ERROR\ERR" + DateAndTime + ".PRO" +" not copyed "+ " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
LogFileForStat("initial file " + Name_OfFileAndPath + " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
exit;
end;
end;
end;
end;
Вот моя функция для переписи файла ... файл закрыт и ни чем не используеться
← →
qube (2002-10-11 13:36) [12]А из Execute ты ее вызываешь?
← →
Zz_ (2002-10-11 13:38) [13]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.
← →
koly01 (2002-10-11 13:39) [14]ну конечно из execute я ее вызываю
← →
koly01 (2002-10-11 13:40) [15]нет файла с таким именем я точно заню
← →
Best Before 2024 (2002-10-11 14:23) [16]Ну хорошо, и что же она пишет в
LogFileForStat("File " + PathToFile + "\DATA\DAT" + DateAndTime + ".PRO" +" not copyed "+ " ", DateTimeToStr(Date + Time), PathFromFolder_collection);
← →
Best Before 2024 (2002-10-11 14:28) [17]а это что за функция ReplaceStr
← →
koly01 (2002-10-11 15:12) [18]Короче мастера все оказалось намного проще ... чем я даже себе представлял мое же приложение держит файл только в другом потоке.
а догадался я об этом вызвав функцию GetLastError , и я этим доволен .... да кстати ReplaceStr это функция из пакета RXLib кстати там еще много полезных строковых функций содержиться иногода прросто без них как без рук ... попробуйте
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.008 c