Hallo!
Ich habe einen Tipp bei "Swissdelphicenter" gefunden, wie mann eine Datei mit Fortschrittsanzeige kopiert.
Delphi-Quellcode:
procedure TForm1.CopyFileWithProgressBar1(Source, Destination: string);
var
FromF, ToF: file of byte;
Buffer: array[0..4096] of char;
NumRead: integer;
FileLength: longint;
begin
AssignFile(FromF, Source);
reset(FromF);
AssignFile(ToF, Destination);
rewrite(ToF);
FileLength := FileSize(FromF);
with Progressbar1 do
begin
Min := 0;
Max := FileLength;
while FileLength > 0 do
begin
BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
FileLength := FileLength - NumRead;
BlockWrite(ToF, Buffer[0], NumRead);
Position := Position + NumRead;
end;
CloseFile(FromF);
CloseFile(ToF);
end;
end;
Diese Code schlägt aber fehl, wenn die Quelldatei (z.B. auf einer CD) schreibgeschützt ist. Wie kann ich die Code so modernisieren, dass es auch für schreibgeschützte Dateien tauglich ist?
Danke!