Delphi XE3でTIdFTPを使うサンプル。
基本的な処理のみ。
FTPサーバーに接続する
//ホスト名
IdFTP1.Host := 'example.com';
//ユーザー名
IdFTP1.Username := 'xxxxxx';
//パスワード
IdFTP1.Password := 'xxxxxxx';
//ポート番号
IdFTP1.Port := 21;
//パッシブモード
IdFTP1.Passive := True;
//サーバーに接続する
IdFTP1.Connect;
FTPサーバーから切断する
//サーバーから切断する
IdFTP1.Disconnect;
現在のディレクトリを取得する
//現在のディレクトリを取得する
S := IdFTP1.RetrieveCurrentDir();
指定したディレクトリに移動する
//指定したディレクトリに移動する
IdFTP1.ChangeDir('test');
上のディレクトリに移動する
//上のディレクトリに移動する
IdFTP1.ChangeDirUp;
ファイルの一覧を取得する
uses IdFTPList;
var
FTPListItems: TIdFTPListItems;
FTPListItem: TIdFTPListItem;
I: Integer;
FileName: String;
FileSize: Integer;
ModifiedDate: TDateTime;
PermissionDisplay: string;
ItemType: String;
begin
//ファイルの一覧を取得する
IdFTP1.List;
FTPListItems := IdFTP1.DirectoryListing;
//ファイル名を表示する
for I := 0 to FTPListItems.Count - 1 do
begin
//ファイル
FTPListItem := FTPListItems.Items[I];
//ファイル名
FileName := FTPListItem.FileName;
//ファイルサイズ
FileSize := FTPListItem.Size;
//ファイルの最終更新日時
ModifiedDate := FTPListItem.ModifiedDate;
//パーミッション
PermissionDisplay := FTPListItem.PermissionDisplay;
//種類
case FTPListItem.ItemType of
ditDirectory: ItemType := 'Directory';
ditFile: ItemType := 'File';
ditSymbolicLink: ItemType := 'SymbolicLink';
ditSymbolicLinkDir: ItemType := 'SymbolicLinkDir';
ditBlockDev: ItemType := 'BlockDev';
ditCharDev: ItemType := 'CharDev';
ditFIFO: ItemType := 'FIFO';
ditSocket: ItemType := 'Socket';
end;
ファイルをアップロードする
//アップロードするファイルのローカルのファイル名
SourceFile := 'C:\test\test.txt';
//アップロードするファイルのサーバー上のファイル名
DestFile := 'sample.txt';
//ファイルをアップロードする
IdFTP1.Put(SourceFile, DestFile);
ファイルをダウンロードする
//ダウンロードするファイルのサーバー上のファイル名
SourceFile := 'sample.txt';
//ダウンロードするファイルのローカルのファイル名
DestFile := 'C:\test\down.txt';
//ファイルをダウンロードする
IdFTP1.Get(SourceFile, DestFile);
ファイルを削除する
//ファイルを削除する
IdFTP1.Delete('sample.txt');