Sample code for 30+ languages & platforms
Delphi DLL

chmod (Setting File Permissions)

See more FTP Examples

This example assumes your FTP server supports the "chmod" command, which typically means it must be a server running on a Linux or Unix system. The SendCommand method may be called to send arbitrary commands to the FTP server. This example sends a "chmod" command to set the file permissions.

Chilkat Delphi DLL Downloads

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
ftp: HCkFtp2;
resp: PWideChar;

begin
success := False;

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

ftp := CkFtp2_Create();

CkFtp2_putHostname(ftp,'ftp.cknotes.com');
CkFtp2_putUsername(ftp,'myLogin');
CkFtp2_putPassword(ftp,'myPassword');

// Connect and login to the FTP server.
success := CkFtp2_Connect(ftp);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkFtp2__lastErrorText(ftp));
    Exit;
  end;
// Send a chmod command to the FTP server to set
// the permissions of a file to 0644:
resp := CkFtp2__sendCommand(ftp,'chmod 0644 hamlet.xml');

if (CkFtp2_getLastMethodSuccess(ftp) <> True) then
  begin
    // Failed.
    Memo1.Lines.Add(CkFtp2__lastErrorText(ftp));
  end
else
  begin
    // You should write code to examine the response to
    // the SendCommand.  As an example, the FTP server
    // used for testing responds with this for success:
    // 200 Permissions changed on hamlet.xml
    Memo1.Lines.Add(resp);
  end;

success := CkFtp2_Disconnect(ftp);

CkFtp2_Dispose(ftp);

end;