[Back to COPYMOVE SWAG index] [Back to Main SWAG index] [Original]

    { copy Files With certain extentions to a specific directory (Both
     parameters specified at the command line or in a Text File).. I cannot
     seem to find a command withing TP 6.0 to copy Files.. I have looked
     several times through the manuals but still no luck.. I even asked the
     teacher in Charge and he did not even know! Ok all you Programmers out
     there.. Show your stuff.. If you Really want to be kind, help me out
     on this..I am just starting in TP and this is all new to me!
    }

    {$R-,I+} {Set range checking off, IOChecking on}
    {$M $400, $2000, $10000} {Make sure enough heap space}
    {    1k Stack, 8k MinHeap, 64k MaxHeap }
    Type
            Buf = Array[0..65527] of Byte;
    Var
            FileFrom, FileTo : File;
            Buffer : ^Buf;
            BytesToRead, BytesRead : Word;
            MoreToCopy, IoStatus : Boolean;

    begin
            {Determine largest possible buffer useable}
            If MaxAvail < 65528 then
                    BytesToRead := MaxAvail
            else
                    BytesToRead := 65528;
            Writeln('Program is using ', BytesToRead , ' Bytes of buffer');
            GetMem(Buffer, BytesToRead);    {Grab heap memory For buffer}
            Assign(FileFrom, 'File_1');
            Assign(FileTo, 'File_2');
            Reset(FileFrom, 1);     {Open File With 1Byte Record size}
            ReWrite(FileTo, 1);
            IoStatus := (IoResult = 0);
            MoreToCopy := True;
            While IoStatus and MoreToCopy do begin
            {$I-}
                    blockread(FileFrom, Buffer^, BytesToRead, BytesRead);
                    blockWrite(FileTo, Buffer^, BytesRead);
            {$I+}
                    MoreToCopy := (BytesRead = BytesToRead);
                    IoStatus := (IoResult=0);
            end;
            Close(FileTO);
            Close(FileFrom);
            FreeMem(Buffer, BytesToRead); {Release Heap memory}
            If (not IoStatus) then
                Writeln('Error copying File!!!');
    end.

[Back to COPYMOVE SWAG index] [Back to Main SWAG index] [Original]