Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) File Read BlocksDemonstrates how to read a file in fixed-size blocks (except for the very last block).
integer li_rc oleobject loo_FacSrc oleobject loo_FacDest string ls_SrcPath string ls_DestPath integer li_Success integer li_NumBlocks integer i integer li_BEqual // Demonstrates how to read a file in blocks, // which can be useful when uploading to cloud storage // services such as Azure, S3, Google, etc. // For this example, we're simply writing the blocks // to an output file, and then checking to see if the // resulting file contents equals the original file contents. loo_FacSrc = create oleobject // Use "Chilkat_9_5_0.FileAccess" for versions of Chilkat < 10.0.0 li_rc = loo_FacSrc.ConnectToNewObject("Chilkat.FileAccess") if li_rc < 0 then destroy loo_FacSrc MessageBox("Error","Connecting to COM object failed") return end if loo_FacDest = create oleobject // Use "Chilkat_9_5_0.FileAccess" for versions of Chilkat < 10.0.0 li_rc = loo_FacDest.ConnectToNewObject("Chilkat.FileAccess") ls_SrcPath = "qa_data/xml/hamlet.xml" ls_DestPath = "qa_output/hamletOut.xml" li_Success = loo_FacSrc.OpenForRead(ls_SrcPath) li_Success = loo_FacDest.OpenForWrite(ls_DestPath) // Assuming success for the example.. // How many 1024-byte blocks? (Including 1 for the last partial block) li_NumBlocks = loo_FacSrc.GetNumBlocks(1024) i = 0 do while (i < li_NumBlocks) loo_DataBlock = loo_FacSrc.ReadBlock(i,1024) if loo_FacSrc.LastMethodSuccess <> 1 then Write-Debug loo_FacSrc.LastErrorText destroy loo_FacSrc destroy loo_FacDest return end if li_Success = loo_FacDest.FileWrite(loo_DataBlock) if li_Success <> 1 then Write-Debug loo_FacDest.LastErrorText destroy loo_FacSrc destroy loo_FacDest return end if i = i + 1 loop loo_FacSrc.FileClose() loo_FacDest.FileClose() li_BEqual = loo_FacSrc.FileContentsEqual(ls_SrcPath,ls_DestPath) if li_BEqual <> 1 then Write-Debug "Something went wrong!" destroy loo_FacSrc destroy loo_FacDest return end if Write-Debug "File successfully copied by blocks." destroy loo_FacSrc destroy loo_FacDest |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.