Ik wil dus een file van internet downloaden en de voortgang hiervan laten zien in een ProgressBar. Gewone files kopiëren met ProgressBar wil wel, maar zodra ik een internetfile als SourceFile gebruik, loopt de ProgressBar niet. Een gedeelte van de code die ik gebruik:
Deze doet het dus, en kopieert winzip naar een voortijd gecreëerde map.
Maar als ik zoiets doe met bv. UrlDownloadToFile ( SourceFile wordt dan http://download.winzip.com/winzip90.exe), dan download hij de file niet.
Ik dacht dat het misschien lag aan het inlezen van de grootte van de sourcefile, deze kan het programma niet lezen ofzo?
Iemand iets dat wel werkt??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| AssignFile(SourceFile, 'c:\winzip81.exe');
Reset(SourceFile);
AssignFile(DestFile, 'c:winzip.exe');
Rewrite(DestFile);
FileLength := FileSize(SourceFile);
with ProgressBar1 do
begin
Min := 0;
Max := FileLength;
While FileLength > 0 do
begin
BlockRead(SourceFile, Buffer[0], SizeOf(Buffer), NumRead);
FileLength := FileLength - NumRead;
BlockWrite(DestFile, Buffer[0], NumRead);
Position := Position + NumRead;
end;
CloseFile(SourceFile);
CloseFile(DestFile);
end;
end; |
Deze doet het dus, en kopieert winzip naar een voortijd gecreëerde map.
Maar als ik zoiets doe met bv. UrlDownloadToFile ( SourceFile wordt dan http://download.winzip.com/winzip90.exe), dan download hij de file niet.
Ik dacht dat het misschien lag aan het inlezen van de grootte van de sourcefile, deze kan het programma niet lezen ofzo?
Iemand iets dat wel werkt??