或者有没有其他方法实现文件的编码形式的改变??

解决方案 »

  1.   

    文件编码,那是你自己写的啊.SaveDialog只是返回一个文件的名字而已,并不会处理实际的写入操作 啊.你想以什么样的编码就写什么样的内容进去.
      

  2.   

    你是指文件名吧,文件内容是你自己指定的,和savedialog无关。delphi的savedialog是不支持unicode的,必须自己实现,如下:
    function OpenDialogW(Handle:THandle;var FileName:WideString):Boolean;
    //open an unicode open dialog, and return the selected filename
    //2003.02.24
    var
      lpOpfn:TOpenFileNameW;
      szFileName:array [0..2600] of WideChar;
    begin
      Result:=false;
      FillChar(lpOpfn,sizeof(lpOpfn),0);
      FillChar(szFileName,sizeof(szFileName),0);
      with lpOpfn do begin
        lStructSize := sizeof(lpOpfn);
      hwndOwner := Handle;
      lpstrFile := szFileName;
      nMaxFile := sizeof(szFileName);
      lpstrFilter := nil;
      nFilterIndex := 0;
      lpstrFileTitle := nil;
      nMaxFileTitle := 0;
      lpstrInitialDir := nil;
      Flags := OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST;
    end;
      if GetOpenFileNameW(lpOpfn) then begin
        FileName:=szFileName;       //!!still have problem, not fully unicode??
        Result:=true;
      end;
    end;但是还不完整,自己改进吧。
      

  3.   

    首先谢谢两位!
    我发现用记事本打开文件在选择“另存为”的时候可以选择编码方式,
    可以存为unicode或其他几种文件,但是在delphi里能不能实现这样的功能呢?