Unit FileUnit; Interface Uses Dos; Function UpperCase (st:String):String; Function ProvFile (Fname:String):Boolean; Procedure CopyFile (Nsour,Ndest:String); Procedure EraseFile (sour:string); Procedure MoveFile (sour,dest:string); Implementation Function UpperCase; Var i : Byte; sst : string; Begin sst:=st; While Pos(' ',sst)<>0 do delete(sst,pos(' ',sst),1); If sst<>'' Then For i:=1 to length(sst) do sst[i]:=UpCase(sst[i]); UpperCase:=sst; End; Function ProvFile; Var F:File; Begin {$I-} Assign(F,Fname);Reset(F,1);Close(F); if ioresult <> 0 then provfile:=false else provfile:=true; {$I+} End; Procedure CopyFile; Type TBuf = array[1..65535] of byte; Var sour,dest : file; buf : ^Tbuf; flen : LongInt; coun : Word; lett : Char; Procedure NoSpace(letter:char); Begin Writeln; if letter <> ' ' then Writeln('Not enough free space on drive ',UpCase(letter),':') else Writeln('Not enough free space on default drive.'); Halt; End; Begin New(buf); Assign(sour,nsour);Reset(sour,1); flen:=FileSize(Sour); if pos(':\',Ndest)<>0 then lett:=UpCase(Ndest[pos(':\',ndest)-1]) else lett:=' '; if lett in ['A'..'Z'] then Begin if DiskFree(Ord(lett)-64)