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

SFTP Writing utf-8 vs. ANSI Text Files

Demonstrates how to specify the charset, such as utf-8, ANSI, windows-1250, iso-8859-1, Shift_JIS, etc., when writing text files. See the List of Charsets for all supported charsets.

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;

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 := '192.168.1.108';
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 for writing.
//  "createTruncate" means that a new file is created; if the file already exists, it is opened and truncated.

handle := sftp.OpenFile('utf8_sample.txt','writeOnly','createTruncate');
if (Length(handle) = 0 ) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  Write a single utf-8 character to the file - a lowercase ü
//  A "ü" in utf-8 is represented by 2 bytes:  0xC3 0xBC
//  The following call to WriteFileText writes 2 bytes (0xC3 0xBC)
//  to the file:
success := sftp.WriteFileText(handle,'utf-8','ü');
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

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

//  Let's write the same "ü" character using windows-1252
//  (which is the ANSI charset for Western-European languages)
handle := sftp.OpenFile('windows1252_sample.txt','writeOnly','createTruncate');
if (Length(handle) = 0 ) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  end;

//  Write a single windows-1252 character to the file - a lowercase ü
//  A "ü" in windows-1252 is represented by 1 byte:  0xFC
//  The following call to WriteFileText writes 1 byte (0xFC)
//  to the file:
success := sftp.WriteFileText(handle,'windows-1252','ü');
if (success <> 1) then
  begin
    ShowMessage(sftp.LastErrorText);
    Exit;
  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