☆IdTCPClientのOpenWriteBuffer

Indy9のIdTCPClient.OpenWriteBufferがIndy10でエラーになりましたので、次のように書き換えました。

 //Indy9
  I := Stream1.Size;
  FIdTCPClient.OpenWriteBuffer;
  FIdTCPClient.WriteBuffer(Stream1.Memory^, I);
  FIdTCPClient.CloseWriteBuffer;

        
 //Indy10
  FIdTCPClient.IOHandler.WriteBufferOpen;
  FIdTCPClient.IOHandler.Write(Stream1);
  FIdTCPClient.IOHandler.WriteBufferClose;
別に名称まで変える必要ないと思うんだけど・・・。

|

☆IdFTPでファイル名取得

[Delphi7]

FTPサーバーのファイル名を取得する必要があったので、Indyを使ってプログラムしてみました。フォームにButton、Memo、IdFTP、IdAntiFreeze1を貼り付けます。

procedure TForm1.Button1Click(Sender: TObject);
var
 SL: TStringList;
 I: Integer;
 S1, S2: String;
begin
 IdFTP1.Host     := 'ホスト';
 IdFTP1.Username := 'ユーザー名';
 IdFTP1.Password := 'パスワード';
 IdFTP1.Connect;
 SL:= TStringList.Create;
 try
  IdFTP1.ChangeDir('フォルダ名');
  IdFTP1.List(SL);
  for I := 0 to IdFTP1.DirectoryListing.Count -1 do
  begin
   S1 := IdFTP1.DirectoryListing.Items[I].FileName;  //ファイル名
   S2 := DateTimeToStr(
    IdFTP1.DirectoryListing.Items[I].ModifiedDate); //日付
   Memo1.Lines.Add(S1+ #9 + S2);
  end;
 finally
  SL.Free;
  IdFTP1.Quit;
 end;
end;

使っているIndyのバージョンは、9.00.10となっています。

|