DataFlex
DataFlex
FTP Download Text File to a Stream
See more FTP Examples
Demonstrates how to FTP download a text file to a Chilkat stream.Note: This example requires Chilkat v9.5.0.67 or greater.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
Variant vStreamObj
Handle hoStreamObj
Variant vT
Handle hoT
String sLine
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example assumes the Chilkat FTP2 API to have been previously unlocked.
// See FTP2 Unlock Sample for sample code.
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "www.my-ftp-server.com"
Set ComUsername Of hoFtp To "mFtpLogin"
Set ComPassword Of hoFtp To "myFtpPassword"
Set ComAuthTls Of hoFtp To True
Set ComPassive Of hoFtp To True
// Connect and login to the FTP server using TLS.
Get ComConnect Of hoFtp To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatStream)) To hoStreamObj
If (Not(IsComObjectCreated(hoStreamObj))) Begin
Send CreateComObject of hoStreamObj
End
// Indicate the charset of the incoming data.
Set ComStringCharset Of hoStreamObj To "utf-8"
// Create a task to do the FTP download.
Get pvComObject of hoStreamObj to vStreamObj
Get ComGetFileToStreamAsync Of hoFtp "lines.txt" vStreamObj To vT
If (IsComObject(vT)) Begin
Get Create (RefClass(cComChilkatTask)) To hoT
Set pvComObject Of hoT To vT
End
Get ComLastMethodSuccess Of hoFtp To bTemp1
If (bTemp1 <> True) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// Start the task in a background thread.
Get ComRun Of t To iSuccess
// Read the incoming text data using any of the streamObj Read methods.
// This example will read line-by-line.
While ((ComEndOfStream(hoStreamObj)) <> True)
Get ComReadToCRLF Of hoStreamObj To sLine
Get ComLastMethodSuccess Of hoStreamObj To bTemp1
If (bTemp1 = True) Begin
Showln sLine
End
Loop
Send Destroy of t
Showln "Success."
End_Procedure