我在书上看到一个制作记事本的范例,就试着动手做了做。后来遇到不少问题。
请大家指导一下。
首先他自定义了三个过程
第一个是设置文件名:
procedure setfilename(const filename:string);
begin
  ffilename:=filename;
  mainform.Caption:=
  format('%s-%s',[extractfilename(filename),application.Title]);
end;
第二个是提醒存盘的消息框:
procedure checkfilesave;
var saveresp:integer;
begin
  if not mainform.RichEdit1.Modified then exit;
    saveresp:=messagedlg(format('将修改的文件存入文件%s?',
    [ffilename]),mtconfirmation,mbyesnocancel,0);
  case saveresp of
    idyes:mainform.RichEdit1.Lines.SaveToFile(ffilename);
    idno:;
    idcancel:abort;
end;
end;
第三个是完成文件的初始化工作:
procedure performfileopen(const afilename:string);
begin
  mainform.RichEdit1.Lines.LoadFromFile(afilename);
  setfilename(afilename);
  mainform.RichEdit1.SetFocus;
end;
然后就是每个菜单中选项的click事件,我已经能实现打开,新建,复制,粘贴,删除等功能,但是保存和另存为功能没有实现。
下面是另存为的代码。
procedure Tmainform.filesaveasClick(Sender: TObject);
begin
  if savedialog1.Execute then
  begin
    if FileExists(savedialog1.FileName) then
      if messagedlg(format('是否覆盖文件%s?',[savedialog1.FileName]),
      mtconfirmation,mbyesnocancel,0)<>idyes then exit;
      mainform.RichEdit1.Lines.SaveToFile(savedialog1.FileName);
      setfilename(savedialog1.FileName);
      mainform.RichEdit1.Modified:=false;
  end;
end;
请大家帮我看看哪里问题。