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 ActiveX) Get FTP File PermissionsDelphi ActiveX example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
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 ftp: TChilkatFtp2; success: Integer; i: Integer; n: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp := TChilkatFtp2.Create(Self); // Set the various properties to establish the connection. ftp.Hostname := 'ftp.example.com'; ftp.Username := 'login'; ftp.Password := 'password'; // If SSL/TLS is required.. // See http://www.cknotes.com/determining-ftp2-connection-settings/ // for more information. ftp.AuthTls := 1; ftp.PassiveUseHostAddr := 1; // Connect to the FTP server: success := ftp.ConnectOnly(); if (success <> 1) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // Authenticate with the FTP server. success := ftp.LoginAfterConnectOnly(); if (success <> 1) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // To get file permissions in UNIX format, disallow MSLD: ftp.AllowMlsd := 0; // To get file and sub-directory information, simply // loop from 0 to ftp.GetDirCount() - 1 i := 0; n := ftp.GetDirCount(); if (n < 0) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) then begin Memo1.Lines.Add('The permissions format is: ' + ftp.GetPermType(0)); end; while i < n do begin // Display the permissions and filename Memo1.Lines.Add(ftp.GetPermissions(i) + ' ' + ftp.GetFilename(i)); i := i + 1; end; // Assuming MLSD was possible, let's see the file permissions in MLSD format: ftp.AllowMlsd := 1; // Clear the directory cache so we're forced to re-fetch the directory listing: ftp.ClearDirCache(); n := ftp.GetDirCount(); if (n < 0) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) then begin Memo1.Lines.Add('----'); Memo1.Lines.Add('The permissions format is: ' + ftp.GetPermType(0)); end; i := 0; while i < n do begin // Display the permissions and filename Memo1.Lines.Add(ftp.GetPermissions(i) + ' ' + ftp.GetFilename(i)); i := i + 1; end; success := ftp.Disconnect(); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.