得到的是一个完整的路径+文件名+后缀
用pos和copy取出就可以了
extractfileext函数也可以参考一下

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      OpenDialog1.Filter := 'Text files (*.txt)|*.txt|Delphi Source files (*.pas)|*.pas|All files (*.*)|*.*';
      if not OpenDialog1.Execute then Exit;
      case OpenDialog1.FilterIndex of
        1: ShowMessage('*.txt');
        2: ShowMessage('*.pas');
        3: ShowMessage('*.*');
      end;
    end;
      

  2.   

    一般的扩展名都是三位
    所以你可以用
    s:=copy(opendialog1.filename,length(opendialog1.filename)-2,3);
    s:='*.'+s;