本帖最后由 weileshumo 于 2012-08-01 13:17:44 编辑

解决方案 »

  1.   

    1.学习TMemo控件的使用
    2.学习Delphi(或直接Win32API)的文件读写操作
    以上具体请Google
      

  2.   

    Windows 自带的新建只是将Memo清空罢了 eg: Memo1.lines.clear;//在当前没有打开文件的时候
    保存便是调用SaveDialog  将Memo已有的内容写到磁盘
    eg: if  SaveDialog1.Excute then Memo1.lines.SaveToFile(SaveDialog1.FileName);
    大概就这样 应该不会打错
      

  3.   

    其实网上例子很多的http://www.delphifans.com/SoftView/SoftView_3117.html
      

  4.   

    用Memo控件 + MainMenu + 一些Dialog控件就是这些控件的基本应用; 对比记事本,看它有那些功能,自己摸索实现
      

  5.   

    首先把设计做好:打开,新建,退出这些都会涉及到保存的判断与提示,如果涉及没做好可能会导致代码很乱。
    做了一个简单的 你可以看一下
    unit txtbook;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
      Forms,Dialogs, Menus, StdCtrls, ExtDlgs,ComCtrls;type
      TForm3 = class(TForm)
        memDesc: TMemo;
        mmFile: TMainMenu;
        N1: TMenuItem;
        N2: TMenuItem;
        N3: TMenuItem;
        N4: TMenuItem;
        N5: TMenuItem;
        OpenDialogChoice: TOpenDialog;
        SaveDialogDesc: TSaveDialog;
        N6: TMenuItem;
        N7: TMenuItem;
        N8: TMenuItem;
        N9: TMenuItem;
        N10: TMenuItem;
        N11: TMenuItem;
        N12: TMenuItem;
        N13: TMenuItem;
        N14: TMenuItem;
        N15: TMenuItem;
        procedure FormCreate(Sender: TObject);
        procedure FrmClose(Sender: TObject; var Action: TCloseAction);
        procedure MemDescChange(Sender: TObject);
        procedure N2Click(Sender: TObject);
        procedure N3Click(Sender: TObject);
        procedure N4Click(Sender: TObject);
        procedure N5Click(Sender: TObject);
        procedure N6Click(Sender: TObject);
      private
        { Private declarations }
      public
        procedure OutSave();
      end;var
      Form3: TForm3;
      FileName:string;
      TxtFileName:string;
      NewFile:Boolean;
      MemDescDif:Boolean;
      NullOperateAll:Boolean;
      StrType:string;
    type
      OperateCheck=(OpNull,OpCreat,OpOpen,OpSave,OpSaveAs);
    var
      MyOperate:OperateCheck;implementation{$R *.dfm}
    procedure TForm3.OutSave;
    begin
      if MemDescDif then
      begin
      StrType:='文件 '+Form3.Caption+' 的文字以改变,是否保存?';
        case MyOperate of
          OpCreat:
          begin
            ShowMessage(StrType);
            SaveDialogDesc.FileName:=Form3.Caption;
            if SaveDialogDesc.Execute then
            begin
              FileName:=SaveDialogDesc.FileName;
              memDesc.Lines.SaveToFile(FileName);
              MemDescDif:=False;
            end;
          end;
          OpNull:
          begin
            if NullOperateAll then
            begin
              ShowMessage(StrType);
              SaveDialogDesc.FileName:=Form3.Caption;
              if SaveDialogDesc.Execute then
              begin
                FileName:=SaveDialogDesc.FileName;
                memDesc.Lines.SaveToFile(FileName);
                MemDescDif:=False;
              end;
            end;
          end;
          OpOpen:
          begin
            ShowMessage(StrType);
            SaveDialogDesc.FileName:=Form3.Caption;
            FileName:=SaveDialogDesc.FileName;
            memDesc.Lines.SaveToFile(FileName);
            MemDescDif:=False;
          end;
        end;
      end
    end;procedure TForm3.FormCreate(Sender: TObject);
    //创建窗体过程
    begin
      Form3.Caption:='无标题.txt';
      memDesc.Text:='';
      MemDescDif:=False;
      NullOperateAll:=False;
    end;procedure TForm3.FrmClose(Sender: TObject; var Action: TCloseAction);
    begin
      OutSave();
      Form3.Free;
    end;procedure TForm3.MemDescChange(Sender: TObject);
    //memdesc内容变化
    begin
      MemDescDif:=True;
      NullOperateAll:=True;
    end;procedure TForm3.N2Click(Sender: TObject);
    //新建
    begin
      OutSave();
      NewFile:=True;
      MyOperate:=OpCreat;
      memDesc.Text:='';
      MemDescDif:=False;
      Form3.Caption:='无标题.txt';
    end;procedure TForm3.N3Click(Sender: TObject);
    //打开
    begin
      OutSave();
      if OpenDialogChoice.Execute then
      begin
        MyOperate:=OpOpen;
        NewFile:=False;
        FileName:=OpenDialogChoice.FileName;
        memDesc.Lines.LoadFromFile(FileName);
        Form3.Caption:=ExtractFileName(FileName);
        Application.Title:=ExtractFileName(FileName);
        MemDescDif:=False;
      end;end;procedure TForm3.N4Click(Sender: TObject);
    //保存
    begin
      if MyOperate=OpCreat then
      begin
        SaveDialogDesc.FileName:=Form3.Caption;
        if SaveDialogDesc.Execute then
          begin
            MyOperate:=OpSave;
            FileName:=SaveDialogDesc.FileName;
            memDesc.Lines.SaveToFile(FileName);
            MemDescDif:=False;
          end;
      end
      else begin
        if MyOperate=OpNull then
        begin
          SaveDialogDesc.FileName:=Form3.Caption;
          if SaveDialogDesc.Execute then
          begin
            MyOperate:=OpSave;
            FileName:=SaveDialogDesc.FileName;
            memDesc.Lines.SaveToFile(FileName);
            MemDescDif:=False;
          end;
        end
        else begin
            MyOperate:=OpSave;
            memDesc.Lines.SaveToFile(FileName);
            MemDescDif:=False;
             end;
      end;
    end;procedure TForm3.N5Click(Sender: TObject);
    //另存为
    begin
       MyOperate:=OpSaveAs;
       SaveDialogDesc.FileName:=Form3.Caption;
       if SaveDialogDesc.Execute then
       begin
         FileName:=SaveDialogDesc.FileName;
         memDesc.Lines.SaveToFile(FileName);
         MemDescDif:=False;
       end;
    end;procedure TForm3.N6Click(Sender: TObject);
    begin
      OutSave();
      Form3.Free;
    end;
    end.
    有什么问题  可以随时找我 呵呵   顺便求粉一个 哈