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
(C) FTP Download with Progress Event CallbacksFTP download with progress event callbacks.
#include <C_CkFtp2.h> BOOL ftp_PercentDone(int percentDone) { printf("Percent Done: %d\n",percentDone); return FALSE; } void ftp_ProgressInfo(const char *name, const char *value) { printf("%s: %s\n",name,value); } void ChilkatSample(void) { HCkFtp2 ftp; BOOL (*fnftpPercentDone)(int percentDone) = ftp_PercentDone; void (*fnftpProgressInfo)(const char *name, const char *value) = ftp_ProgressInfo; BOOL success; const char *localFilename; const char *remoteFilename; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp = CkFtp2_Create(); CkFtp2_setPercentDone(ftp, fnftpPercentDone); CkFtp2_setProgressInfo(ftp, fnftpProgressInfo); CkFtp2_putHostname(ftp,"ftp.someFtpServer.com"); CkFtp2_putUsername(ftp,"myLogin"); CkFtp2_putPassword(ftp,"myPassword"); // Connect and login to the FTP server. success = CkFtp2_ConnectOnly(ftp); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); CkFtp2_Dispose(ftp); return; } success = CkFtp2_LoginAfterConnectOnly(ftp); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); CkFtp2_Dispose(ftp); return; } // Change to the remote directory where the file is located. // This step is only necessary if the file is not in the home directory // of the FTP account. success = CkFtp2_ChangeRemoteDir(ftp,"junk"); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); CkFtp2_Dispose(ftp); return; } localFilename = "c:/temp/hamlet.xml"; remoteFilename = "hamlet.xml"; // Ensure that we get PercentDone callbacks. CkFtp2_putAutoGetSizeForProgress(ftp,TRUE); // Download the file. success = CkFtp2_GetFile(ftp,remoteFilename,localFilename); if (success != TRUE) { printf("%s\n",CkFtp2_lastErrorText(ftp)); CkFtp2_Dispose(ftp); return; } success = CkFtp2_Disconnect(ftp); printf("File Downloaded!\n"); CkFtp2_Dispose(ftp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.