我用delphi 5  ,下面是我写的用以"提示文件保存"的过程,可我搞不定,请高手Debug.
..................
...............procedure TForm1.DoMessageSave(txtFileName:string);
var UserChoose : word;
var MsgStr : string;begin
     msgstr :='文件 ' + txtFileName  +' 的正文已更改。'+ #10#13 + '是否保存更改' ;
    // msgstr :='文件 ' +' 的正文已更改。'+ #10#13 + '是否保存更改' ;
 //===============================================================     UserChoose:= Application.MessageBox (msgstr  ,'记事本',
      MB_YESNOCANCEL +MB_ICONEXCLAMATION
      + MB_DEFBUTTON1);
//上面一句出错! Msgstr 中如不含 txtfileName. 则不出错,为什么?//===========================================================
if userchoose=IDYes then
     with edit1 do
     begin
              text := '选择保存...'+ txtFileName;
                //if savedialog1.Execute then
                lines.SaveToFile (txtFileName);
     end   // 这个End 后面不跟 “;” 分号*******else if userchoose=IDNO then
  with edit1 do
  begin
    text := '选择不保存...'
  end
else
  begin
    with edit1 do
    begin
    text := '选择取消...'
    end;
    exit;
  end;
end;

解决方案 »

  1.   

    UserChoose:= Application.MessageBox (pchar(msgstr)  ,'记事本',
          MB_YESNOCANCEL +MB_ICONEXCLAMATION
          + MB_DEFBUTTON1);试一试
    加了一个pchar
      

  2.   

    另外推荐你用Tsavedialog控件,在dialog面版中用法举例:if savedialog1.excute then
    begin
      保存;
    end;
    设置savedialog1的属性可以设定文件类型
      

  3.   

    UserChoose:= Application.MessageBox (Pchar(msgstr),'记事本',
          MB_YESNOCANCEL +MB_ICONEXCLAMATION
          + MB_DEFBUTTON1);
      

  4.   

    不好意思,没有看完。
    推荐用messagebox:if messagebox(self.handle,pchar('文件'+filename+'已修改,是否保存','提示',MB_YESNO+MB_ICONINFORMATION)=mryes then
    begin
      你的保存程序;
    end;