デルファイ - TIdFTP 2つの重要な機能

2つの重要な機能TIdFTP

プロジェクトの開発プロセスは、サーバー上のファイル/ディレクトリを直接プロセスのために、非常に危険なことであるファイル/パスが存在しないと、プログラムは例外がスローされますので、カスタマーエクスペリエンスに影響を与えることがわかりました。サーバ上のファイル/ディレクトリにアクセスする前に、したがって、我々は、一般に、第1のサーバ上のパス/ファイルが存在するかどうかを決定し、次いでさらなる処理。

サーバやファイルパスを分析することFtpDirectoryExistsが存在します

次のコードを考えてみます。

1  関数 TMainFrm.FtpDirectoryExists(ADIR:文字列):ブール;
2  VAR 
3    I、インデックス:整数;
4    strlist:TStringListの。
5    ファイル名:文字列;
6    B:ブール。
7  開始
8    件の検索結果を:= falseは、
9    インデックス:= 0 ;
10    strlist:= TStringListの。作成します11    strlist.Clear。
12    idFTP.List(strlist、'' 、TRUE);
13    なら strlist.Count> 0  、次いで
14    開始
15      のI:= 0   strlist.Count - 1  ない
16      始まる
17        ファイル名:= (strlist.Strings [I])をトリム。
18        B:= 真;
19        ながら B 
20は       開始
21          であれば順位('  '、ファイル名)> 0が 、その後
22は         開始
23            名:=トリム(コピー(ファイル名、順位('  ' 、ファイル名)、長さ(ファイル名)))。
24          端部25          もし順位('  '、ファイル名)= 0  その後、 B:= falseは、
26        端部27は       場合、ファイル名= ADIRは、その後、
28は       開始
29          件の検索結果を:= はtrue。
30          休憩;
31        端部32      端部33    端部34    strlist.Free。
35  端部

FTPパスの作成/フォルダCreateFtpDir

次のコードを考えてみます。

1  手順 TMainFrm.CreateFtpDir(V_Path:文字列);
 2  VAR 
3。   I、J、K:整数;
 4。   sFtpPath、S:TStringListの;
 5。    t_Path、SSTR:文字列;
 6。 始める
7。    sFtpPath :. = TStringListの作成;
 8。   sFtpPath.Clear ;
 9    sFtpPath.Delimiter:= ' / ' ;
 10    sFtpPath.DelimitedText:= V_Path;
 11    idFTP.ChangeDir(' / ' );
 12れる     // 自動的に作成されたディレクトリが存在するかどうかを確認しないあります
13    のための K:= 0   - sFtpPath.Count 1  ない
14は   開始
15      SSTR:= sFtpPath [k]を、
図16は、     お試し
17を       場合 ない FtpDirectoryExists(SSTR) 次いで
18          idFTP.MakeDir(SSTR)。
19      を除く
20        E上:例外はない
21        始める
22          ヌルを。
23        エンド;
24      端部25      idFTP.ChangeDir(SSTR + ' / ' )。
26    端部27    sFtpPath.Free;
28  エンド ;

 

おすすめ

転載: www.cnblogs.com/jeremywucnblog/p/11491024.html