memo1.Lines.Add('currency='+floattostr(reg.ReadCurrency('currency' )) ) ;
编译能通过,就是读不出来。
显示:project project1.exe raised exception class eregistryexception with message'failed to get data for 'currency''.process stopped.use step or run to continue.
书上的环境是DELPHI 6,我用的7。
编译能通过,就是读不出来。
显示:project project1.exe raised exception class eregistryexception with message'failed to get data for 'currency''.process stopped.use step or run to continue.
书上的环境是DELPHI 6,我用的7。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses registry ;
{$R *.dfm}procedure tForm1.Button1Click(Sender: TObject);
var
reg : tregistry;
buffer : pchar ;
d : tdate ;
t : ttime ;begin
buffer :='101010';
d:=date;
t:=time;reg:=tregistry.Create;
try
reg.RootKey:=hkey_current_user;
if reg.OpenKey('\text',true ) then
begin
reg.WriteCurrency('currency',100);
reg.WriteBinaryData('binarydata',buffer,10);
reg.WriteDateTime('datetime',d);
reg.WriteDate('date',d );
reg.WriteTime('time',t);
reg.writefloat('float',101.5);
reg.WriteInteger('integer',99);
reg.WriteBool('bool',true);
reg.WriteString('string','test');
reg.WriteExpandString('expandstring','text,expand string');
end ;
finally
reg.CloseKey ;
reg.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);var
reg:tregistry;
buffer:pchar;begin
reg:=tregistry.Create ;
try
reg.RootKey :=hkey_current_user;
if reg.OpenKey('\test',true) then
begin
memo1.Lines.Add('currency='+floattostr(reg.ReadCurrency('currency' )) ) ;//就是这一句
memo1.Lines.Add('binarydata='+inttostr(reg.ReadBinaryData('binarydata',buffer,10) ));
memo1.Lines.Add('datetime='+datetostr(reg.ReadDateTime('datetime') ));
memo1.Lines.Add('date='+datetostr(reg.ReadDate('date') )) ;
memo1.Lines.Add( 'time='+timetostr(reg.ReadTime('time') ));
memo1.Lines.Add('float='+floattostr(reg.ReadFloat('float') ));
memo1.Lines.Add('integer='+inttostr(reg.ReadInteger('integer') ));
if (reg.ReadBool('bool')=true) then memo1.Lines.Add('bool='+ 'true');
if (reg.readbool('bool')=false) then memo1.Lines.Add('bool='+'false');
memo1.Lines.Add('string='+reg.ReadString('string') );
memo1.Lines.Add('expandstring='+reg.ReadString('expandstring') ) ;
end;
finally
reg.CloseKey ;
reg.Free ;
end;
end;end.我怕都贴出来太长了没人看
读出的键是'test': if reg.OpenKey('\test',true) then两者不一致