...danke, aber das hab ich ja versucht...mit genau dieser funktion klappt das zwar für meinen lokalen pc...aber wenn ich was übers netzwerk kopiere klappt der fortschritt nicht...laut progressbar ist er schon fertig...kopiert dann aber noch 5minuten bis er wirklich fertig is (bei großen dateien)
Hab das verwendet:
Delphi-Quellcode:
function CopyExThread(p: PCopyEx): Integer;
var
Source:
String;
Dest:
String;
Handle: THandle;
Cancel: PBool;
FromF, ToF :
file of byte;
Buffer :
array[0..4096]
of char;
NumRead : integer;
FileLength : longint;
begin
Source := p.Source;
Dest := p.Dest;
Handle := p.Handle;
Cancel := PBOOL(False);
AssignFile(FromF,Source);
reset(FromF);
AssignFile(ToF,Dest);
rewrite(ToF);
FileLength:=FileSize(FromF);
With form1.copyProgressbar1
do
begin
Min := 0;
Max := FileLength;
while FileLength > 0
do
begin
BlockRead(FromF,Buffer[0],SizeOf(Buffer),NumRead);
FileLength := FileLength - NumRead;
while pausecopy=true
do
begin Application.ProcessMessages;
end;
BlockWrite(ToF,Buffer[0],NumRead);
Application.ProcessMessages;
Position := Position + NumRead;
end;
CloseFile(FromF);
CloseFile(ToF);
end;
Dispose(p);
result := 0;
end;
Vielleicht kann mir ja einer sagen wie man das hinbekommt das der progress auch im LAN stimmt ????