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
(Delphi DLL) SFTP Fsync -- Flush an Open File on the ServerDemonstrates how to flush the contents of an open file on the server. This example only works for servers that implement the fsync@openssh.com extension. Note: This example requires Chilkat v9.5.0.71 or later.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, SFtp; ... procedure TForm1.Button1Click(Sender: TObject); var sftp: HCkSFtp; success: Boolean; handle: PWideChar; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. sftp := CkSFtp_Create(); // Pass a domain or IP address.. success := CkSFtp_Connect(sftp,'my-sftp-server.com',22); if (success = True) then begin success := CkSFtp_AuthenticatePw(sftp,'mySFtpLogin','mySFtpPassword'); end; if (success = True) then begin success := CkSFtp_InitializeSftp(sftp); end; if (success <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; // Open a file on the server for writing. handle := CkSFtp__openFile(sftp,'myTest.txt','writeOnly','createTruncate'); if (CkSFtp_getLastMethodSuccess(sftp) <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; // Write some text to the file: success := CkSFtp_WriteFileText(sftp,handle,'ansi','abcdefghijklmnopqrstuvwxyz'); if (success <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; // Make sure the server flushes what we wrote to the disk.. // (this is requires a server that implements the fsync@openssh.com SFTP protocol extension) success := CkSFtp_Fsync(sftp,handle); if (success <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; // .... // .... success := CkSFtp_WriteFileText(sftp,handle,'ansi','ABCDEFGHIJKLMNOPQRSTUVWXYZ'); if (success <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; // Close the file. success := CkSFtp_CloseHandle(sftp,handle); if (success <> True) then begin Memo1.Lines.Add(CkSFtp__lastErrorText(sftp)); Exit; end; Memo1.Lines.Add('Success.'); CkSFtp_Dispose(sftp); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.