我想把当前的日期时间写到一个自定义的文件中,为什么会出现这样?
代码:
procedure TForm1.Button8Click(Sender: TObject);  向文件写日期时间
var
 kk:thandle;
 ss:string;
begin
  ss:=datetimetostr(now);        
  kk:=filecreate('f:\aa.dbb');
  filewrite(kk,ss,30);
  fileclose(kk);
end;
procedure TForm1.Button9Click(Sender: TObject);  //向编辑框读日期时间
var
 mm:thandle;
 hh:string;
begin
 mm:=fileopen('f:\aa.dbb',fmShareDenyNone);
 fileread(mm,hh,30);
 edit1.Text:=hh;
 fileclose(mm);
end;
会出错并显示cpu,若把ss:=now改为ss:='2002-12-23 12:38:00'则可以正确读到编辑框
请问这是为什么,哪里出错了,分数不是问题,如能答出可以再加

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     kk:thandle;
     ss:string;
    begin
      ss:=datetimetostr(now);
      kk:=filecreate('c:\aa.dbb');
      filewrite(kk,ss,sizeof(ss));
      fileclose(kk);
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     mm:thandle;
     hh:string;
    begin
     setlength(hh,25);
     mm:=fileopen('c:\aa.dbb',fmShareDenyNone);
     fileread(mm,hh,30);
     showmessage(hh);
     fileclose(mm);
    end;
      

  2.   

    procedure TForm1.Button3Click(Sender: TObject);
    var
     kk:thandle;
     ss:string;
    begin
      ss:=datetimetostr(now);
      kk:=filecreate('aa.dbb');
      filewrite(kk,ss,SizeOf(ss));
      fileclose(kk);
    end;procedure TForm1.Button4Click(Sender: TObject);
    var
     mm:thandle;
     hh:string;
     iFileLength: Integer;begin
     mm:=fileopen('aa.dbb',fmShareDenyNone);
     iFileLength := FileSeek(mm,0,2);
     FileSeek(mm,0,0);
     fileread(mm,hh,iFileLength);
     edit1.Text:=hh;
     fileclose(mm);
    end;
      

  3.   

    ss:=format('%s',[datetimetostr(now)]);
      

  4.   

    ss 是字符串类型,now返回的是TDateTime类型ss := DateTimeToStr()
      

  5.   

    本贴已经结贴:  outer2000(天外流星) 50 分
                   zfpcb(我是你的传说) 50 分