保存“已连接”的字符串并读取它们及其“已连接”

时间:2011-02-18 20:35:34

标签: delphi save

这是我一点也不熟悉的事情。

我想尝试制作一个带有4个编辑框的简单表格,顶部2个,底部2个,以及一个按钮。基本上我想要做的就是在前两个相互关联的方框中输入几个东西。

当我填写它们时,我点击按钮,它将此信息保存在数据库中,最好是外部文件(不一定是文本,我认为如果不是,那会更好)。所以我可以这样做几次。从编辑字段保存到数据库中。

然后,当我在底部的一个编辑字段中键入其中一个单词时,它会自动在最后一个编辑字段中键入另一个单词。表单应该记得每次打开时连接到数据库,以便当我再次打开它时,我仍然可以使用编辑字段。

有人可以告诉我如何做到这一点吗?

1 个答案:

答案 0 :(得分:2)

如果我理解正确的话,你所寻找的是一本字典。在其他语言中,它被称为关联数组或有时是哈希。

你想要一个现代版的Delphi,我猜2010或XE。如果你无法访问那些,那么你需要一个第三方库,或者一个基于TStringList的家庭。实际上TStringList可以在字典中运行,但它有点笨拙。

您按如下方式声明字典:

dict: TDictionary<string,string>;

您可以按如下方式添加:

dict.Add(box1.Text, box2.Text);

第一个参数是键。第二是价值。可以把它想象成一个数组,但用字符串而不是整数索引。

如果要恢复某个值,请使用:

dict[key];

在你的情况下,你会写:

box4.Text := dict[box3.Text];

如果你想保存到一个文件,那么你将遍历dict:

var
  item: TPair<string,string>;
...
for item in dict do
  AddToTextFile(item.Key, item.Value);

我忽略了所有错误处理问题,处理添加已存在的密钥,请求不在dict中的密钥,等等。但这应该给你一种味道。

如果您还不熟悉它们,我建议您阅读关联数组。我确信维基百科上会有一个页面,你会比读一本关于Python的教程更糟糕 - 无论你考虑用哪种语言,问题都是一样的。