Avatar billede bif_pin Nybegynder
03. oktober 2003 - 11:04 Der er 7 kommentarer og
1 løsning

Hent en REG_MULTI_SZ fra REGDB over i variabel.

Jeg kan ikke få min nøglevaerdi fra REG DB, som er af type REG_MUlTI_SZ lagt ud i min variabel noegle.

Jeg har prøvet at give noegle variablen følgende type, string, String, AnsiString, char noegle[][20].

Intet virker.
Jeg sidder med Borland builder C++.
Jeg bruger headerfilen Registry.hpp
Det virker perfekt når jeg henter en REG_SZ og bruger typen AnsiString.

Her er min kode:

TRegistry *Registry = new TRegistry; 
Registry->RootKey=HKEY_LOCAL_MACHINE;
s=Registry->OpenKey("HARDWARE\DESCRIPTION\System",false);
noegle=Registry->ReadString("SystemBiosVersion");

Jeg sidder med et større program. derfor vil det være godt hvis det kunne refereres til mit eksempel og ikke andre Hfiler og andre måder at hente fra REG DB på.

Med venlig hilsen TOM.
Avatar billede arne_v Ekspert
03. oktober 2003 - 12:08 #1
Fik du ikke et eksemple af Bertel her:
http://www.eksperten.dk/spm/365086
?
Avatar billede bif_pin Nybegynder
03. oktober 2003 - 12:49 #2
Dette eksempel virker fint men som det ses er funktionerne anderledes i eksemplet som er angivet her. DEn kode jeg arbejder videre på er opbygget således, desværre.

Men den skriver at returtypen til ReadString() er en AnsiString. Jeg har prøvet at tage udgangspunkt i tidligere eksempel men det virkede ikke her. char buf[0x1000] virker heller ikke da der kommer samme fejlmeddelelse (cannot convert AnsiString to Char)

Arne_v du er eksperten herinde. du må da kunne løse dette problem
;-)
Avatar billede arne_v Ekspert
03. oktober 2003 - 13:12 #3
Du kan konverter efra ansi string til char array med:

AnsiString s;
...
char buf[0x1000];
strcpy(buf,s.c_str());
Avatar billede bif_pin Nybegynder
03. oktober 2003 - 13:24 #4
Der kommer en exeption hvor den skriver en invalid type for SystemBiosVersion.
SystemBiosVersion er af typen REG_MULTI_SZ.

Venlig hilsen TOM
Avatar billede bif_pin Nybegynder
03. oktober 2003 - 13:31 #5
Jeg kan virkelig ikke få det til at virke og kan desværre ikke komme videre. Måske er det slet ikke muligt at hente en reg_multi_sz med funktionen ReadString.
Avatar billede arne_v Ekspert
03. oktober 2003 - 13:55 #6
Det er muligt at ReadString ikke kan håndtere det.

Men hvorfor bruger du så ikke bare metoden fra det linke ?

(putter det evt. ind i en lille funktion)
Avatar billede bif_pin Nybegynder
03. oktober 2003 - 14:59 #7
Der er nok ingen vej uden om.

Tak for hjælpen og her har du points selvom det ikke var den løsning jeg var ude efter, men fordi jeg synes du er god til at hjælpe mig og mange andre herinde.

Jeg mangler dog et svar fra dig for at kunne give dig points.
Med venlig hilsen TOM
Avatar billede arne_v Ekspert
03. oktober 2003 - 16:59 #8
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis