Delphi 如何在程序关闭/重新打开期间保存变量值?
基本上,我所要做的就是为我的项目编写代码,以便它在下次运行程序时存储任何保存的变量。现在,一旦我关闭并重新打开程序,它显然会重置任何变量。有什么简单的方法可以做到这一点(请记住,我对编程非常陌生) 我给你举个例子。如果我有一个简单的程序,当我按下一个按钮时,它会向一个计数器中添加1。现在,下次我打开该程序并再次按下按钮时,我想添加到上一个计数器中Delphi 如何在程序关闭/重新打开期间保存变量值?,delphi,delphi-7,Delphi,Delphi 7,基本上,我所要做的就是为我的项目编写代码,以便它在下次运行程序时存储任何保存的变量。现在,一旦我关闭并重新打开程序,它显然会重置任何变量。有什么简单的方法可以做到这一点(请记住,我对编程非常陌生) 我给你举个例子。如果我有一个简单的程序,当我按下一个按钮时,它会向一个计数器中添加1。现在,下次我打开该程序并再次按下按钮时,我想添加到上一个计数器中 提前感谢您可以使用两个简单的例程从注册表中保存和加载,如下所示: uses SysUtils, Registry; ... function Re
提前感谢您可以使用两个简单的例程从注册表中保存和加载,如下所示:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序加载时,您可以这样使用它们:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序退出时,您将保存计数器,如下所示:
RegistrySaveString( 'My program', 'counter', IntToStr(counter) );
您可以使用两个简单的例程从注册表中保存和加载,如下所示:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序加载时,您可以这样使用它们:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序退出时,您将保存计数器,如下所示:
RegistrySaveString( 'My program', 'counter', IntToStr(counter) );
您可以使用两个简单的例程从注册表中保存和加载,如下所示:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序加载时,您可以这样使用它们:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序退出时,您将保存计数器,如下所示:
RegistrySaveString( 'My program', 'counter', IntToStr(counter) );
您可以使用两个简单的例程从注册表中保存和加载,如下所示:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序加载时,您可以这样使用它们:
uses SysUtils, Registry;
...
function RegistryLoadString(const sKey, sItem, sDefVal: string ): string;
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
result := reg.ReadString('', sItem, sDefVal);
finally
reg.Free;
end;
end;
procedure RegistrySaveString(const sKey, sItem, sVal: string);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create(sKey);
try
reg.WriteString('', sItem, sVal + #0);
finally
reg.Free;
end;
end;
counter := StrToInt(RegistryLoadString( 'My program', 'counter', '0' ));
在应用程序退出时,您将保存计数器,如下所示:
RegistrySaveString( 'My program', 'counter', IntToStr(counter) );
您需要保存这些值(到文件或注册表)在应用程序关闭之前,在应用程序启动时加载它们。哪个组件或代码应该对我有帮助?有一些组件,但你应该在这里请求它们。JEDI有一个设置组件。你可以保存在INI文件、JSON文件、XML文件等中,或者保存到注册表中。1.清点所有要保存的数据。2.根据文件存储的装载和结构选择(XML、INI)或注册表。3.谷歌Delphi+您选择的技术4.开始构建5.如果需要,返回具体问题值得注意的是,将值保存到SQLLite数据库有时也很有用,特别是当您的状态数据比简单计数器等更复杂时。SQLLite非常容易与Delphi一起使用。您需要保存values(到文件或注册表)在应用程序关闭之前,在应用程序启动时加载它们。哪个组件或代码应该对我有帮助?有一些组件,但你应该在这里请求它们。JEDI有一个设置组件。你可以保存在INI文件、JSON文件、XML文件等中,或者保存到注册表中。1.清点所有要保存的数据。2.根据文件存储的装载和结构选择(XML、INI)或注册表。3.谷歌Delphi+您选择的技术4.开始构建5.如果需要,返回具体问题值得注意的是,将值保存到SQLLite数据库有时也很有用,特别是当您的状态数据比简单计数器等更复杂时。SQLLite非常容易与Delphi一起使用。您需要保存values(到文件或注册表)在应用程序关闭之前,在应用程序启动时加载它们。哪个组件或代码应该对我有帮助?有一些组件,但你应该在这里请求它们。JEDI有一个设置组件。你可以保存在INI文件、JSON文件、XML文件等中,或者保存到注册表中。1.清点所有要保存的数据。2.根据文件存储的装载和结构选择(XML、INI)或注册表。3.谷歌Delphi+您选择的技术4.开始构建5.如果需要,返回具体问题值得注意的是,将值保存到SQLLite数据库有时也很有用,特别是当您的状态数据比简单计数器等更复杂时。SQLLite非常容易与Delphi一起使用。您需要保存values(到文件或注册表)在应用程序关闭之前,在应用程序启动时加载它们。哪个组件或代码应该对我有帮助?有一些组件,但你应该在这里请求它们。JEDI有一个设置组件。你可以保存在INI文件、JSON文件、XML文件等中,或者保存到注册表中。1.清点所有要保存的数据。2.根据文件存储的装载和结构选择(XML、INI)或者注册表。3.谷歌Delphi+你选择的技术4.开始构建5.如果需要,带着特定的问题回来值得注意的是,将值保存到SQLLite数据库有时也很有用,特别是如果你的状态数据比简单的计数器等更复杂的话。SQLLite很容易与Delphi一起使用,不是吗你不是双重空终止吗?你不是双重空终止吗?你不是双重空终止吗