我想自己做个日记本软件,所有的信息都储存到一个文件里,我又不想用数据库,一时之间不知如何入手,请各位高手帮忙指点一下思路。    如果每天的日记长度能固定,那就好办了,可是这个长度是无法固定的,所以有些迷茫,请高手赐教,或您有相关的资料,不胜感激!!

解决方案 »

  1.   

    简单的示范:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      diaryRec=record    //日记结构
        f_date:TDateTime;
        f_weather:set of (wSun,wRain,wCloudy,wWind);
        f_content:string[255];
      end;
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      f:file of diaryRec;   //日记结构类型的文件
      dr:diaryRec;
    begin
      dr.f_date:=now;
      dr.f_weather:=[wSun,wWind];
      dr.f_content:='今天我去会女朋友了...';
      assignfile(f,'c:\goomoo.day');
      rewrite(f);
      write(f,dr);
      closefile(f);
    end;end.
      

  2.   

    可以创建使用DAT文件:
    Type Tperson=Record
              Name:string;
              Age:integer;
              Sex:Boolean;
     end;
      Var Mydatafile:Tperson;
      procedure  Proc_Name(sender:Tobject);
     begin
     Assign(Mydatafile,'c:\data.dat');
    Rewrite();//创建并打开一个文件;
    Read();//按一定格式去读数据文件;
    Write();//写一定格式的数据文件;
    ... 
      

  3.   

    使用RECORD去定义文件的内容有这样的问题:如果我定义好日记的内容为100字节,而我用的时候日记得内容就不能超过100字节呀,这明显不符合需要啊高手们,您在哪里?在哪里?在哪里?
      

  4.   

    TO: hfyun(逮住就问)您能否帮我理一下思路,22点多了,脑子有些乱
      

  5.   

    TO:  cnsuyong(小可) 
        一语中的!  到这时发现自己基础非常薄弱,如果要实现这些内容恐怕数据结构和算法不行就麻烦了。不知有没有这方面的专题文章?用什么语言都无所谓。谢谢您的热心指教!!
      

  6.   

    不知道你用过DELPHI自带的PARADOX没有,它在处理备注字段的时候就是用另外一个。MB文件来保存超过指定长度的文本,我想你其实也可以用这样的办法。用一个固定长度的域来表示日记的内容,超出的部分放在另一个文件里(副文件)。在主文件记录的类型声明一个无符号的长整型字段指定超出在该文件中部分的起始点,然后用文件流来访问文件。
      

  7.   

    谢谢:fermium(列御寇)可为什么没人知道【电子日记本】它是怎么处理这个问题的啊?我觉得她那样做比较完美。
      

  8.   

    建议楼主研究以下文件操作:
    1、文件流方式的读写操作(TFileStream)
    2、无类型文件的读写操作(Read、Write)
    如果达到相对比较熟练的程度,那么解决这里讨论的问题就很简单了。
    如果能看一些“数据结构”中的相关内容,效果会更好,例如指针、链表等。
      

  9.   

    其实楼主对数据库的理解有误,自己做个小型数据库不就是个自定义类型文件?电子日记本Beta 2.0版和以后的AceDiary用的郝新庚自己开发的数据库TinyDB!知道吗?就是作为Kingron那个超级猛料载体的那个MyBase所用的数据库!是他在校期间完成的作品!再透露点内幕消息,电子日记本最新的中文版已经开发完成,近期会发布!和英文的AceDiary类似!