Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Streaming SFTP Download

Demonstrates how to download a file chunk by chunk from an SSH server.

Download Chilkat 32-bit SSH / SFTP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATSSHLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
sftp: TChilkatSFtp;
success: Integer;
port: Integer;
hostname: String;
handle: String;
pData: Array of Byte;
bEof: Integer;
chunkSize: Integer;

begin
//  Important: It is helpful to send the contents of the
//  sftp.LastErrorText property when requesting support.

sftp := TChilkatSFtp.Create(Self);

//  Any string automatically begins a fully-functional 30-day trial.
success := sftp.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  Set some timeouts, in milliseconds:
sftp.ConnectTimeoutMs := 5000;
sftp.IdleTimeoutMs := 15000;

//  Connect to the SSH server.
//  The standard SSH port = 22
//  The hostname may be a hostname or IP address.

hostname := 'www.my-ssh-server.com';
port := 22;
success := sftp.Connect(hostname,port);
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  Authenticate with the SSH server.  Chilkat SFTP supports
//  both password-based authenication as well as public-key
//  authentication.  This example uses password authenication.
success := sftp.AuthenticatePw('myLogin','myPassword');
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  After authenticating, the SFTP subsystem must be initialized:
success := sftp.InitializeSftp();
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  Open a file on the server:

handle := sftp.OpenFile('hamlet.xml','readOnly','openExisting');
if (Length(handle) = 0 ) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

bEof := 0;
chunkSize := 10000;

while bEof = 0 do
  begin

    pData := sftp.ReadFileBytes(handle,chunkSize);
    if (sftp.LastReadFailed(handle) = 1) then
      begin
        ShowMessage(sftp.LastErrorText);
        break;
      end
    else
      begin

        //  Do whatever  you wish with the data received...
        //  It is possible that if the EOF is reached, 0 bytes will be returned.

      end;

    bEof := sftp.Eof(handle);
  end;

//  Close the file.
success := sftp.CloseHandle(handle);
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

ShowMessage('Success.');
end;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser