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

    {The following code is off the top of my head so use with caution as it
    has NO error checking in it and I have never used to for the purposes
    you are describing.  You will need to reverse the code to put the files
    back together when they are done.  Try this (Good Luck):

    You could use DOS copy with the /b to put it back together

     copy /b file1 file2 file3 output.fil

    }

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
       inFile,outFile: FILE;
       CopyBuffer : POINTER; { buffer for copying }

       iRecsOK, iRecsWr, iX: Integer;
       sFileName: String;

    CONST
      ChunkSize : LONGINT = 1424000; { copy in 1.44 meg chunks }

    begin

      GETMEM (CopyBuffer, ChunkSize); { allocate the buffer }

      sFileName := 'd:\demo\winsave';
      Assignfile(inFile,sFileName + '.ZIP');
      Reset(inFile,1);

     iX := 1;
       repeat
          AssignFile(outFile,sFileName + IntToStr(iX) + '.ZIP');

          Rewrite(outFile,1);
          inc(iX);
          BlockRead(InFile, CopyBuffer^, Chunksize, iRecsOK);
          BlockWrite(OutFile, CopyBuffer^, iRecsOK, iRecsWr);
          CloseFile(outFile);
       until (iRecsOK < Chunksize);

    CloseFile(inFile);
    FREEMEM (CopyBuffer, ChunkSize); { free the buffer }
    END;

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