喫茶XRAYトップページ

[スレッド全体
]

[4234] サンプルプログラム 773_Indy_FTPGetPutについて返信 削除
2011/1/18 (火) 21:46:30 たたみや
こんばんは、Delphi2010で格闘しております。

たてぐやさんの座右の銘は、響きますな〜。
ここに書き込もうと思ったら、直前の書き込み。
肝にめいじます。

話変わりまして、マスターのところのサンプルプログラムを
バリバリ活用させていただいております。
ありがとうございます。

windows7(32bit) + Delphi2010(32bit) + 付属のindyにて
いろいろ試していました。
サンプルプログラム 773_Indy_FTPGetPut
の01のなかで

>>    FileSize := IdFTP1.Size(SourceFile);
>>    //ファイルのサイズが取得できたら実行
>>    //他の確認方法があるかも知れない


この部分がうまくいかず-1が帰ってきます。
そこでベタですが、

 //目的のファイルがあるディレクトリに移動
   IdFTP1.ChangeDir(FTP_Root_Dir+target_dir);
   IdFTP1.List;
   if Assigned(IdFTP1.DirectoryListing) then
    begin
     for i:=0 to IdFTP1.DirectoryListing.Count-1 do
      begin
       AFTPItem := IdFTP1.DirectoryListing.Items[i];
       if (AFTPItem.FileName)=fname then
        begin
         FTP_FileSize := AFTPItem.Size;
         break;
        end;
       end;
     end;

などとしてサーバ上のファイルサイズを調べています。

ここでついでに、お聞きしたいことがあるのですが、
サーバのデフォルト言語はUTF-8にしてあり、希にある日本語のファイルを
取得してリストボックスなどに入れると文字化けしてしまいます。

JPFileName := utf-8toJP(AFTPItem.FileName);
       ^^^^^^^^^
みたいな何か魔法はないでしょうか?
よろしくお願いします。

[4235] Re:サンプルプログラム 773_Indy_FTPGetPutについて返信 削除
2011/1/18 (火) 23:11:20 Mr.XRAY
▼ たたみやさん.どうも.

> JPFileName := utf-8toJP(AFTPItem.FileName);
>        ^^^^^^^^^
> みたいな何か魔法はないでしょうか?


これって,何かあったような,いえ,
>この部分がうまくいかず-1が帰ってきます。
これに関連してなんですが.
Indyって,少しバージョンが変わると文字コードページ関係の処理に
変化があるようですね.


[4236] Re2:サンプルプログラム 773_Indy_FTPGetPutについて返信 削除
2011/1/18 (火) 23:23:44 Mr.XRAY
http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s3733#3733
 ↑
これ参考になりせんか.
こりゃ,いよいよDelphi 2010での確認,修正が必要になってきたようですね.
とりあえず... (^^;)

後,ここですか...
http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s2930#2930


[4237] Re3:サンプルプログラム 773_Indy_FTPGetPutについて返信 削除
2011/1/19 (水) 00:11:14 たたみや
▼ Mr.XRAYさん

> http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s3733#3733
>  ↑
> これ参考になりせんか.


はい、しかしながらバージョン依存で結果が変わるとしたら、
ここはベタでも手堅く行った方が無難かと・・・


> 後,ここですか...
> http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s2930#2930


はっはっはっ〜♪
そういえば去年も同じことで、はまってましたね(^^;;)
しか〜し、今年はちゃんと

  IdFTP1.TransferType := ftBinary;

を入れて試しましたが、だめでした。

ファイル名の文字化けですが、RawByteStringやUtf8Decodeとか
試してみましたが、今ひとつ。
実際、サーバに置くファイルに関して日本語を使うことは、
まずないので問題ないのですが、何か引っかかるというか。。。

[4239] Re4:サンプルプログラム 773_Indy_FTPGetPutについて返信 削除
2011/1/19 (水) 00:20:21 Mr.XRAY
▼ たたみやさん

> を入れて試しましたが、だめでした。

むむっ.となると,更にいよいよ.
あっ,急に眠くなってきた Zzzzz.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82