Delphi XE3でTIdFTPを使うサンプル

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');

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください