Autor Beitrag
AltesGreenhorn
Hält's aus hier
Beiträge: 1

Win XP
C# VS 2008 Express, #Develop
BeitragVerfasst: Fr 16.04.10 19:10 
Hallo,

vielleicht ist die Überschrift nicht ganz richtig.

Es geht um Folgendes:

Ich habe eine Funktion public int getCBXregistry(String local_cbx)

Diese soll aus der Registry einen Wert auslesen. Etwa so (nur ohne Variable):

local_icbx = (Int32)Registry.GetValue(
@"HKEY_CURRENT_USER\Software\Firma\Progname",
"cbx3", 0);
(so funktioniert das auch)

Nun möchte ich aber den Wert "cbx3" (der cbx1, cbx2 ... cbxn sein kann) jeweils beim
Funktionsaufruf übergeben. Aber ich bekomme es nicht hin.

Meistens hagelt es Fehlermeldungen.

Ohne Fehlermeldung, aber auch ohne den gewünschten Wert, habe ich das verbrochen:

local_icbx2 = (Int32)Registry.GetValue(
@"HKEY_CURRENT_USER\Software\Firma\Progname",
"\"%local_cbx%\"", 0);


Kann mir vielleicht jemand weiterhelfen?

Besten Dank!
norman2306
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Fr 16.04.10 21:57 
Am aller hilfreichsten sind immer die Fehlermeldung. Die sagen uns nämlich am Besten, was da schief läuft.

Also, erstmal was ich auf anhieb sehe: du übergibst der Funktion einen String. Dann weist du dem String einen Int zu. Das geht schon mal nicht. Wofür soll der String überhaupt sein?

Probiere es mal so:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
public int GetCBXregistry()
{
   return (int)Registry.GetValue(
       @"HKEY_CURRENT_USER\Software\Firma\Progname",
       "cbx3"0);
}
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 17.04.10 11:25 
Hallo und :welcome:

Ich habe es so verstanden, dass der Wert, nach dem gesucht wird, variabel sein soll. Probiere es mit Normans Vorschlag so:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
public int GetCBXregistry(string item)
{
   return (int)Registry.GetValue(
       @"HKEY_CURRENT_USER\Software\Firma\Progname",
       item, 0);
}

Gruß Jürgen

PS. Wenn ich es richtig verstanden habe, passen sowohl Überschrift als auch Unterforum hervorragend.