gpt4 book ai didi

Delphi FireMonkey 存储来自组件的信息

转载 作者:行者123 更新时间:2023-12-02 01:25:06 25 4
gpt4 key购买 nike

我希望我的 Delphi FireMonkey 应用程序将 Edit.Text 组件中的所有信息存储在应用程序可以在应用程序启动时重新加载这些数据的任何位置。(这不是必需的,但我也想保存一些 Memo.Text 和 Combobox.ItemIndex [也许还有其他一些]数据。)

我能想到的唯一方法是编写一个过程,将所有信息存储到 TMemo 中并将其保存到文件中。 (以及重新分配这些内容的另一个过程)如果只有一些信息,我会这样做,但我有太多的数据要记住,所以很难这样做。

我的问题是如何让我的应用程序轻松记住所有这些数据/值。 (类似function SaveAllComponentsValues;)我的应用程序将在 Mac、Windows、iOS 和 Android 上运行,因此该解决方案必须适用于所有这些平台。

我想可以存储[特定/所有]组件的所有属性。这对我也很有帮助。

最佳答案

如果您确定不应该使用数据库,那么您可以使用 inifile 来保存值并迭代表单上的组件。对移动设备一无所知,所以不确定,但这里有两个保存和恢复表单上所有 Tedit 组件的过程:

uses system.ioutils;
..


procedure TForm2.savebuttonClick(Sender: TObject);

var i:integer;
acomponent:tcomponent;
inifile:tinifile;

begin
inifile:=tinifile.Create(tpath.GetHomePath+tpath.DirectorySeparatorChar+'myinifile.ini');
for i:=0 to form2.ComponentCount-1 do
begin
acomponent:=form2.Components[i];
if acomponent.ClassType=tedit then inifile.WriteString('Edits',acomponent.Name,(acomponent as tedit).Text)
end;
inifile.free
end;

procedure TForm2.restorebuttonClick(Sender: TObject);

var i:integer;
acomponent:tcomponent;
inifile:tinifile;

begin
inifile:=tinifile.Create(tpath.GetHomePath+tpath.DirectorySeparatorChar+'myinifile.ini');
for i:=0 to form2.ComponentCount-1 do
begin
acomponent:=form2.Components[i];
if acomponent.ClassType=tedit then
begin
(acomponent as tedit).Text:=inifile.readString('Edits',acomponent.Name,'')
end;
end;
inifile.free
end;

关于Delphi FireMonkey 存储来自组件的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33333859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com