Sample code for 30+ languages & platforms
Delphi ActiveX

Quote and SendCommand

See more FTP Examples

Demonstrate the Quote and SendCommand methods.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
ftp: TChilkatFtp2;
serverResponse: WideString;

begin
success := 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

ftp := TChilkatFtp2.Create(Self);

ftp.Hostname := 'ftp.example.com';
ftp.Username := 'login';
ftp.Password := 'password';

// Connect and login to the FTP server.
success := ftp.Connect();
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

// Tell the FTP object to keep an in-memory session log
// so we can see the commands sent to the server,
// and the responses received back.
ftp.KeepSessionLog := 1;

// Change the current remote directory via the Quote method:
success := ftp.Quote('CWD junk');
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

// Move back up 
// In this case, ChangeRemoteDir sends "CWD .." to the FTP server.
success := ftp.ChangeRemoteDir('..');
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

// Do the same via the SendCommand method where the
// raw FTP server response is returned:
serverResponse := ftp.SendCommand('CWD junk');
if (ftp.LastMethodSuccess <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
  end
else
  begin
    Memo1.Lines.Add(serverResponse);
  end;

success := ftp.Disconnect();

Memo1.Lines.Add('Session Log:');
Memo1.Lines.Add(ftp.SessionLog);
end;