使用TNMTime控件。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
       

解决方案 »

  1.   

    TO  lxpbuaa(桂枝香在故国晚秋) :
       可以再详细些吗? 谢谢!需要判断服务器文件和本地文件的新旧情况(根据文件的修改时间),
    从而确定是否下载覆盖本机的文件。本地文件的修改时间已经取得,但是FTP服务器得文件时间取不到!! :(HELP ME !!
      

  2.   

    我可以帮助你:-),我刚刚在CSDN注册还不到一天需要分来提高志气如果你认为下面的代码可以达到你的要求,就给一点分吧。
    //----------------------------处理从服务器上返回的文件-----------------------
    //----------------------------处理从服务器上返回的文件-----------------------
    //----------------------------处理从服务器上返回的文件-----------------------
    void __fastcall FormatServerFile(AnsiString OriginalFileName,
    AnsiString& FileName,AnsiString &SizeStr,AnsiString &RealSizeStr,
    AnsiString &LastAccessDateStr,AnsiString &FileOrDirStr)
    {
    /*---------------------------------------------------------------------------
    -----------------------------------------------------------------------------
       Example file returned form ftp server(OriginalFileName's value).  [    0     ][1][  2 ][  3  ]       [   4   ][5] [6] [7] [     8    ...]
      |-Dir Flag-|      |--Size-||M| |D| |Y| |-FileName-|
                                                   月  日  年
      d---------   1 owner group     0 Dec 27  2000 Rad
      ----------   1 owner group   289 Feb  9  6:24 快捷方式  Othe.lnk   特别注意:[7]处的值是这样确定的,如果该文件在本年建立,则该处的值是建立文件的
                 时间,否则是建立文件的年份。
    -----------------------------------------------------------------------------
    ---------------------------------------------------------------------------*/  AnsiString str;
      TStringList* Temp;  //分割字符串
      Temp=new TStringList();
      //字符串分割函数,到处都有,你要是没有说一声,我再贴给你。
      ParseToken(Temp,OriginalFileName," \t");  // 确定是目录还是文件
      str=Temp->Strings[0];
      if(str[1]=='d' || str[1]=='D')
        FileOrDirStr="DIR";
      else
        FileOrDirStr="FILE";  // 获取文件的大小(一个大概值,一个实际值)
      if(FileOrDirStr=="DIR")
      {
        SizeStr="";
        RealSizeStr="";
      }
      else
      {
        RealSizeStr=Temp->Strings[4];
        long Size=(long)(StrToInt64(Temp->Strings[4])/1024);
        if(Size==0) Size=1;
        SizeStr=FormatFloat("#,###,###",Size)+" KB"; // Used KB
      }  // 把文件的建立时间转换为类似2001-08-02之形式。  // 转换月
      str=AnsiString(Temp->Strings[5]).UpperCase();
      if(str=="JAN")      str="01";
      else if(str=="FEB") str="02";
      else if(str=="MAR") str="03";
      else if(str=="APR") str="04";
      else if(str=="MAY") str="05";
      else if(str=="JUN") str="06";
      else if(str=="JUL") str="07";
      else if(str=="AUG") str="08";
      else if(str=="SEP") str="09";
      else if(str=="OCT") str="10";
      else if(str=="NOV") str="11";
      else if(str=="DEC") str="12";  // 月日组合
      if(Temp->Strings[6].Length()==1) // 2001-09-4 -->> 2001-09-04
        str=str+"-0"+Temp->Strings[6];
      else
        str=str+"-"+Temp->Strings[6];  // 年月日组合
      if(Temp->Strings[7].Pos(":")==0) // 找不到':',证明该处是年份。
        str=Temp->Strings[7]+"-"+str;  // 其它年建立
      else
        str=FormatDateTime("yyyy",Date())+"-"+str;  //本年建立  LastAccessDateStr=str;
      // 得到文件名
      //int i=OriginalFileName.Pos(Temp->Strings[8]);
      //if(i>0) FileName=OriginalFileName.SubString(i,OriginalFileName.Length()-i+1);  // 上述方法存在一个致命的错误(用了半年才发现,真是惭愧),如
      // -rw-rw-rw-   1 ftp      ftp           17 Jul 27 16:42 1
      // 将返回文件名"1 ftp      ftp           17 Jul 27 16:42 1"
      // 而文件名实际是"1"(文件名是"1"倒也少见:))。  // 因此在这里采用相对于建立时间往后偏移的方法来获得文件名。
      int i0=OriginalFileName.Pos(Temp->Strings[5]);
      AnsiString s0=OriginalFileName.SubString(i0,2048);
      int i1=s0.Pos(Temp->Strings[7]);
      FileName=OriginalFileName.SubString(i0+i1+Temp->Strings[7].Length(),2048);  delete Temp;
    }
      

  3.   

    如何取得 FTP服务器的文件时间?HELP !!!!!!!!!!!!!!!!11111
      

  4.   

    var filename:string;
    FileDateToDateTime(fileage(filename));
      

  5.   

    各位请注意,FTP服务器的意思是这上面的文件只能通过FTP指令访问(如FTP://FTP服务器IP/FTP虚拟目录/子目录/../文件名, 而且还要输入访问用户名和密码),而并不像本机的文件一样打开(如C:\TEST\SN.TXT) !!!!!
    并不是说要打开机器名叫FTP的服务器上的文件。
    在DELPHI中我通过TNMFTP控件进行访问和文件操作,但是不能像本机文件一样取得文件的修改、访问时间!!!!   :(
    现在想请教各位的是怎么取的这些文件的修改、访问时间。