一个edit中放有一个文件的全路径,现在只想重到这个文件的扩展名,无论扩展名是否隐藏,要如何做,请教

解决方案 »

  1.   

    SysUtils库函数
         function ExtractFileExt(const FileName: string): string;
      

  2.   

    ExtractFileExt
    它不会判断文件是否存在
      

  3.   

    的确ExtractFileExt只对字符串FileName进行提取procedure TForm1.Button1Click(Sender: TObject);
    var
      sr: TSearchRec;
      fname,exts:string;
    begin
      fname:=Edit1.Text;
      exts := ExtractFileExt(fname);
      if exts = '' then //如果隐藏了扩展名
      begin
        fname := fname+'.*';
        if FindFirst(fname, 0, sr) = 0 then
        begin
          repeat
            exts:=exts+ExtractFileExt(sr.Name)+' | ';
          until FindNext(sr) <> 0;
          FindClose(sr);
        end
        else
          exts:='no file';
      end;
      Edit2.Text:=exts;
    end;
      

  4.   


    或者这样Copy(edit.text,length(edit.text)-4,3)
      

  5.   

    如果不想用ExtractFileExt哪么自己截,用RightStr(string,length)函数来取也OK.建义不要截了.
      

  6.   


    ShowMessage(ExtractFileExt('C:\Documents and Settings\彭轩\桌面\Unit1.pas'));