Delphi - TIdFTP 两个重要函数
2021-02-04 00:17
标签:文件夹 integer 客户体验 func 影响 function col pre color TIdFTP 两个重要函数 项目开发过程中发现,直接对于服务器上的文件/路径进行处理,是很危险的事情,因为一旦文件/路径不存在,程序就会抛异常,影响客户体验。所以在对服务器上的文件/路径进行访问之前,我们一般先判断服务器上是否存在某个路径/文件,然后再进行进一步的处理。 判断服务器上文件或者路径是否存在 FtpDirectoryExists 请看如下代码: 创建FTP路径/文件夹 CreateFtpDir 请看如下代码: Delphi - TIdFTP 两个重要函数 标签:文件夹 integer 客户体验 func 影响 function col pre color 原文地址:https://www.cnblogs.com/jeremywucnblog/p/11491024.html 1 function TMainFrm.FtpDirectoryExists(ADir: string): Boolean;
2 var
3 i, Index: Integer;
4 strlist: TStringList;
5 filename: string;
6 b: Boolean;
7 begin
8 Result := false;
9 Index := 0;
10 strlist := TStringList.Create;
11 strlist.Clear;
12 idFTP.List(strlist, ‘‘, True);
13 if strlist.Count > 0 then
14 begin
15 for i := 0 to strlist.Count - 1 do
16 begin
17 filename := trim(strlist.Strings[i]);
18 b := True;
19 while b do
20 begin
21 if Pos(‘ ‘, filename) > 0 then
22 begin
23 filename := Trim(Copy(filename, Pos(‘ ‘, filename), Length(filename)));
24 end;
25 if Pos(‘ ‘, filename) = 0 then b := False;
26 end;
27 if filename = ADir then
28 begin
29 Result := true;
30 Break;
31 end;
32 end;
33 end;
34 strlist.Free;
35 end;
1 procedure TMainFrm.CreateFtpDir(V_Path: string);
2 var
3 i, j, k: Integer;
4 sFtpPath, s: tstringlist;
5 t_Path, sSTR: string;
6 begin
7 sFtpPath := tstringlist.Create;
8 sFtpPath.Clear;
9 sFtpPath.Delimiter := ‘/‘;
10 sFtpPath.DelimitedText := V_Path;
11 idFTP.ChangeDir(‘/‘);
12 //检查目录是否存在,不存在时自动创建
13 for K := 0 to sFtpPath.Count - 1 do
14 begin
15 sSTR := sFtpPath[k];
16 try
17 if not FtpDirectoryExists(sSTR) then
18 idFTP.MakeDir(sSTR);
19 except
20 on E: Exception do
21 begin
22 null;
23 end;
24 end;
25 idFTP.ChangeDir(sSTR + ‘/‘);
26 end;
27 sFtpPath.Free;
28 end;
文章标题:Delphi - TIdFTP 两个重要函数
文章链接:http://soscw.com/index.php/essay/50660.html