2010-06-16 82 views
0

我已經存儲了從GridView的項目列表到註冊表如下:如何從註冊表中讀取值的名稱和數據?

frmPOSConfigSet.tblCatItems.First; 
while not frmPOSConfigSet.tblCatItems.Eof do 
begin 
    RegItemSetting.WriteString('stk Group\Candy', 
    frmPOSConfigSet.tblCatItemsCODE.Text, 
    frmPOSConfigSet.tblCatItemsSPHOTO.Text); 
    frmPOSConfigSet.tblCatItems.Next; 
end; 

在註冊表編輯器,我有這樣的:

STK集團
- 糖果
- > YUPI_GUM_HB,C: \用戶\柴\圖片\ POS產品圖片\ image1.jpg
- > YUPI_GUM_SBKISS,C:\用戶\柴\圖片\ POS產品圖片\ image2.jpg

後,我關閉窗體,並打開它AGA在GridView中的所有值都消失了。如何從註冊表中檢索ident(例如YUPI_GUM_HB)及其值(eg.c:\ Users \ chai \ Pictures \ POS Item Images \ image1.jpg),並在加載表單時將其放入gridView中?

回答

3

它看起來並不像你使用的TRegistry(太多參數到WriteString),但如果你是,你可以用它來讓所有東西都退出註冊表。我懷疑你被卡住了,因爲你想調用ReadString,但是你不知道註冊表值的名字,所以你不知道要傳入ReadString

您可以通過致電GetValueNames獲取所有值的名稱列表。將它傳遞給TStringList(或任何其他TStrings後代),並且該方法將用所有值名稱填充該列表。

var 
    Names: TStrings; 
    Name, Data: string; 
    i: Integer; 
begin 
    RegItemSetting.OpenKeyReadOnly('stk Group\Candy'); 
    Names := TStringList.Create; 
    try 
    RegItemSetting.GetValueNames(Names); 
    for i := 0 to Pred(Names.Count) do begin 
     Name := Names[i]; 
     Data := RegItemSetting.ReadString(Name); 
    end; 
    finally 
    Names.Free; 
    end; 
end; 
+0

我不知道gridView是什麼,所以我不能回答這個問題。你說你存儲在註冊表中的東西來自gridView,那麼你是如何將它放入gridView的? – 2010-06-17 03:13:38

+0

Thx for ur help,Rob。我已經知道了。 – user367856 2010-06-17 03:20:53

+0

我通過數據集存儲和檢索數據從gridView到註冊表。 – user367856 2010-06-17 03:34:32

相關問題