uses
sysutils;
function shell(s:pchar):integer ; cdecl external 'msvcrt.dll' name 'system';
function filelength(filename:ansistring):longword;
Var F : File of byte;
var L:longword;
begin
Assign (F,filename);
Reset (F);
L:=FileSize(F);
Close (F);
exit(L);
end;
procedure loadfile(var content: ansistring;filename:ansistring);
Var Fin : File;
Var x:int32;
begin
x:=filelength(filename);
setlength(content,x);
Assign (Fin,filename);
Reset (Fin,x);
BlockRead (Fin,content[1],1);
close(fin);
end;
procedure download(site:ansiString;newfile:ansistring);
var
f,content:ansistring;
begin
content:='';
if fileexists(newfile) then deletefile(newfile);
If (pos(' ',site) <>0) Then site:=Chr(34)+site+Chr(34);
f:='type nul > ' +GetCurrentDir +'\'+newfile; // create empty file
shell (pchar(f));
shell('bitsadmin /reset');
shell ('bitsadmin /create mydownload');
f:='bitsadmin /transfer mydownload /download /priority normal /DYNAMIC ' + site +' '+ Chr(34) + GetCurrentDir +'\'+ newfile +Chr(34);
Shell(pchar(f));
shell ('bitsadmin /complete mydownload');
if (filelength(newfile)<>0) then loadfile(content,newfile) else exit;
f:=Chr(34) +GetCurrentDir + '\'+newfile + Chr(34);
If (Length(content)>4) Then
Shell (pchar(f));
End;
var
site:ansistring= 'https://promo.betfair.com/betfairsp/prices/dwbfpricesukwin13072020.csv';
begin
shell('Title Please wait a few seconds until Job completed');
download(site,'New.csv');
writeln('Press return to finish . . .');
readln;
end.