Avatar billede tigertool Nybegynder
09. juli 2004 - 13:47 Der er 10 kommentarer og
1 løsning

Ini fil i C++ smart måde?

Hej,

Jeg skal bruge noget data fra en ini-fil i et C++ script. Har C++ en smart måde at gøre dette på? F.eks. PHP har noget smart til læsning af data fra en ini-fil.

Jeg har forsøgt at søge her på eksperten i denne gruppe, men får intet resultat - og det er ligemeget hvad jeg skriver, så får jeg intet resultat.
ADMINS: Virker jeres søgefunktion ikke i grupperne?
Avatar billede arne_v Ekspert
09. juli 2004 - 13:52 #1
Hvilket styre system og hvilken compiler ?

(hvis du kigger i kategorien "om eksperten" vil du se mange klager over
at søg ikke virker ordentligt)
Avatar billede tigertool Nybegynder
09. juli 2004 - 13:55 #2
Hehe ok.

Det skal være til Windows (Jeg laver det på en XP spand) og jeg bruger Borland C++Builder 6 Enterprise (Dog kun en trial, desværre :( )
Avatar billede soreno Praktikant
09. juli 2004 - 14:11 #3
Avatar billede tigertool Nybegynder
09. juli 2004 - 14:34 #4
Sådan som jeg lige kan se det skal man bruge:

TIniFile *StartUp = new TIniFile("IValues.ini");

Test1 = StartUp->ReadString("Database","Bruger","default");

Hvilket giver resultatet at Test1 = "default", altså den default værdi.

Men i min Ini fil står der:
[Database]
Bruger = tigertool


Gør jeg noget galt? Det ser ud som om at der ikke bliver læst fra filen overhovedet
Avatar billede soreno Praktikant
09. juli 2004 - 14:46 #5
Der står at Write bruges til at læse(!) værdier med.

Prøv:
StartUp->WriteInteger("Database", "Bruger", Test1);
Avatar billede tigertool Nybegynder
09. juli 2004 - 14:49 #6
Virker heller ikke.. :(
Avatar billede soreno Praktikant
09. juli 2004 - 14:51 #7
Jeg har desværre ikke en BCB til rådighed.

Kan du ikke evt. prøve at kigge lidt i hjælpen til TIniFile ?
Der er ofte eksempel kode med til metoderne.
Avatar billede susrn Nybegynder
09. juli 2004 - 17:03 #8
Når jeg læser inifiler fra builderen er det ca sådan:
GetPrivateProfileString("Database", "Bruger","",buf, sizeof(buf),path )
Avatar billede tigertool Nybegynder
10. juli 2004 - 13:21 #9
Så fandt jeg fejlen.
Jeg skulle angive stien korrekt på min ini fil i stedet for bare at skrive:

TIniFile *StartUp = new TIniFile("IValues.ini");

skulle jeg skrive:

TIniFile *StartUp = new TIniFile("./IValues.ini");

Grunden til at jeg fik returneret mit "default" var at Ini-filen ikke kunne findes.
Desuden bruges ReadString til at læse fra ini-filen med.

StartUp->ReadString(section, key, default);

Den sidste parameter er det der skal returneres hvis keyen ikke findes i sectionen, eller hvis filen ikke kan findes :)

soreno, smid lige et svar.
Avatar billede soreno Praktikant
11. juli 2004 - 09:19 #10
Well, Ok.
Avatar billede tgv Nybegynder
14. juli 2004 - 19:27 #11
Ellers Brug WritePrivateProfileString og GetPrivateProfileString
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