我建立了一个Saver : TSaveDialog;在其属性Filter中建立大概8个文件类型,问题:为何我在保存时,文件不能自动地跟上后缀名,比如我的保存文件为MyText,采用后缀Doc,但是我跟踪了一下变量,发觉Saver.FileName的值是"....../MyText",没有跟上后缀名,不知道如何设置才能自行在FileName中按选择的Filter内容,跟上相关的后缀?

解决方案 »

  1.   

    自己加一段
    FileNameStr:=Saver.filename;
    if ExtractFileExt(FileNameStr)='' then begin  手工加上后缀 end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        strFileName, strExt: String;
    begin
        with SaveDialog1 do
        begin
            if Execute then
            begin
                case FilterIndex of
                    0: strExt := '.doc';
                    1: strExt := '.xls';
                    2: strExt := '.txt';
                end;
                strFileName := FileName;
                if ExtractFileExt(strFileName) = '' then
                    strFileName := strFileName + strExt
                else
                    ChangeFileExt(strFileName, strExt);
                ShowMessage(strFileName);
            end;
        end;
    end;
      

  3.   

    感谢各位,就是麻烦了点 ^&^