2011-02-18 53 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的教程更加糟糕,它肯定會涵蓋它們 - 無論你考慮哪種語言,問題都是一樣的。