2011-02-18 72 views
1

这是我一点都不熟悉的东西。保存'已连接'并读取它们的字符串以及'已连接'

我想尝试使用4个编辑框,2个顶部,2个底部和一个按钮来制作一个简单的表单。基本上我想要做的是在前两个框中输入几个相互关联的东西。

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

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

任何人都可以告诉我如何做到这一点?

+3

我认为你需要缩小你的问题,目前的形式是“我该如何编程”,我不确定SO是否是一般教学的最佳媒介。你现在特别在这个项目上做了什么,如果你能把它缩小到一个单一的问题开始,那可能会给你一些开始。 – 2011-02-18 20:55:16

+1

问题太广泛了,所以我投了票关闭它。请询问更具体的问题。你似乎想知道的是如何连接到数据库以及如何查看数据库中的某些东西。显然,你已经知道如何将数据存储在数据库中(虽然我不知道如何,因为你不知道如何连接到它)。分别询问每件事情。一定要提及你正在使用的数据库。 (如果您不知道这一点,那么也请您提供关于选择数据库的建议。)在提出新问题之前,一定要先搜索以前的问题。 – 2011-02-18 21:19:40

回答

2

如果我理解正确,你要找的就是词典。在其他语言中,它被称为关联数组或有时是散列。

你会想要一个现代版的Delphi,我猜2010或XE。如果你不能访问那些,那么你需要一个第三方库,或根据TStringList生长的一个家。事实上,TStringList可以在类似字典的模式下运行,但它有点笨重。

您声明字典如下:

dict: TDictionary<string,string>; 

您可以添加做到如下:

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

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

如果你想恢复一个值,那么你使用:

dict[key]; 

你的情况,你可以这样写:

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

如果你想保存到一个文件,那么你会遍历字典:

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

我忽略了所有的错误处理问题,处理添加已经存在的键,询问不在该词典中的键,等等。但这应该给你一种风味。

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