ditDirectory未定义,莫名奇妙啊
- Delphi(Pascal) code
unit sync;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, StdCtrls, RzButton;type TForm1 = class(TForm) FTPClient: TIdFTP; RzBitBtn1: TRzBitBtn; procedure RzBitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;const Model = 'yyyy/mm/dd,hh:mm:ss';var Form1: TForm1;implementation{$R *.dfm}procedure FindRemoteDir(var idFTP: TIdFtp; RemoteDir: string; var filename, filesize, filetime: Tstrings);var i, DirCount: integer; sName: string;begin idFTP.RetrieveCurrentDir; idFTP.ChangeDir(RemoteDir); idFTP.List(nil); DirCount := idFTP.DirectoryListing.Count; if DirCount = 0 then begin idFTP.ChangeDirUp; idFTP.List(nil); Exit; end; for i := 0 to DirCount - 1 do begin if DirCount <> idFTP.DirectoryListing.Count then begin repeat idFTP.ChangeDirUp; idFTP.List(nil); Application.ProcessMessages; until DirCount = idFTP.DirectoryListing.Count; Exit; end; if idFTP.DirectoryListing.Items[i].ItemType = ditDirectory then//这句编译不过,提示ditDirectory未定义 Remotefindall(idFTP, idFTP.RetrieveCurrentDir + '\' + idFTP.DirectoryListing.Items[i].FileName, filename, filesize, filetime) else begin sName := RemoteDir + '\' + idFTP.DirectoryListing.Items[i].FileName; sName := MidStr(sName, iwidth + 1, length(sName) - iwidth + 1); filename.add(sName); filesize.add(inttostr(idFTP.DirectoryListing.Items[i].Size)); filetime.Add(FormatDateTime(Model, idFTP.DirectoryListing.Items[i].ModifiedDate)); end; end; Application.ProcessMessages; if i = DirCount - 1 then begin idFTP.ChangeDirUp; idFTP.List(nil); end;end;procedure TForm1.RzBitBtn1Click(Sender: TObject);begin FTPClient.Username := 'Login=tranuser'; FTPClient.Password := '8653635'; FTPClient.Port := 21; FTPClient.Connect();end;end.[解决办法]
uses IdFTPList;
[解决办法]
缺少单元引用