Текущий архив: 2004.11.14;
Скачать: CL | DM;
Внизкопирование файлов Найти похожие ветки
← →
vdddslep © (2004-10-29 15:03) [0]написал прогу котороя должнеа себя копировать на диск с:\
использую поблочное копирование
// процедура копирования файлов поблочно
procedure FileCopy(oldname,newname:string);//;canvas:TCanvas);
var
OldF,NewF:file; // старое и новое имя файла
NumRead,NumWritten:Integer; // читаем пишем
Buf:array[1..2048] of Char; //буффер
begin
AssignFile(NewF, NewName); { открываем файл куда будем копировать }
Rewrite(NewF,1); { побайтово size = 1 }
AssignFile(OldF, OldName); { открываем файл который будем копировать }
rewrite(oldf,1); { побайтово = 1 //важно}
// Canvas.TextOut(10, 10, "Copying " + IntToStr(FileSize(FromF))+ " bytes...");
repeat // вход в цикл копирования
BlockRead(OldF, Buf, SizeOf(Buf), NumRead); {указател ,буфер, количества записей которое следует прочесть ,реально прочло байт}
BlockWrite(NewF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead); // ok всё скопировано выходим из цикла
CloseFile(OldF); // закрываем оба файла
CloseFile(NewF);
end;
получаю полный путь к запущенной программе
GetModuleFileName(hInstance, TheFileName, sizeof(TheFileName));
{дискриптор модуля запущенного файла, буфер для пути, максимальное количество извлекаемых символов}
den2:=TheFileName;
вызываю функцию копирования и программ апишет ошибку что небожет открыть файл (запущенный )
что делать ????
← →
Добрый дядька © (2004-10-29 15:11) [1]Интересно, а зачем ты оба файла открываешь на запись?
PS.
Сразу же, предупреждая следующий вопрос, отвечу:
Перед Reset() добавь строчку FileMode := 0;
← →
vdddslep © (2004-10-29 15:18) [2]Огромное спасибо
ура заработало примного благодарен
я 6 часов мучался немог понять в чем дело
а что это за волшебный такой
FileMode := 0;
что он делает ????
← →
Добрый дядька © (2004-10-29 15:32) [3]>vdddslep © (29.10.04 15:18)
На процедуре Reset нажми F1.
Далее по ссылкам найдешь FileMode и значения, которые эта переменная может принимать.
По умолчанию FilMode=2 (ReadWrite)
Режим FilMode=0 - файл открывается толтько для чтения.
← →
vdddslep © (2004-10-29 16:17) [4]ok еще раз спасибо
Страницы: 1 вся ветка
Текущий архив: 2004.11.14;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.036 c