Toon posts:

[C++] Tinifile

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een .ini file gaan gebruiken voor instellingen voor mijn applicatie te bewaren. In de Help van de Borland Builder heb ik hier wel iets over gevonden, maar ik krijg het niet werkend.


C++:
1
__fastcall TIniFile(const System::AnsiString FileName) : Inifiles::TCustomIniFile(FileName) {}


Dit is de declaratie van Tinifile, maar hoe creëer ik nu een inifile?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
code:
1
2
TIniFile* MyIni;
MyIne = new TIniFile ("bestandsnaam");


Zo?

https://fgheysels.github.io/


  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

Ehm... Moet je programma nog werken onder win 3.11? Zoniet, waarom kies je dan niet voor opslaan in de registry?

Verwijderd

Topicstarter
whoami schreef op 04 september 2002 @ 13:45:
code:
1
2
TIniFile* MyIni;
MyIne = new TIniFile ("bestandsnaam");

Zo?
Nee, Undefined symbol 'TIniFile'.
Moet er misschien een bepaalde libary geinclud worden?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Bij de help van TIniFile staat een grote highlighted link naar Using TIniFile waar de volgende voorbeeldcode staat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void __fastcall TForm1::TForm1(TObject *Sender)

{
   TIniFile *ini;
   ini = new TIniFile( 
      ChangeFileExt( Application->ExeName, ".INI" ) );
   Top     =  ini->ReadInteger( "Form", "Top", 100 );
   Left    =  ini->ReadInteger( "Form", "Left", 100 );
   Caption =  ini->ReadString( "Form", "Caption", 
                               "Default Caption" );
   ini->ReadBool( "Form", "InitMax", false ) ?
         WindowState = wsMaximized : 
         WindowState = wsNormal;
   delete ini;

}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
   TIniFile *ini;
   ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
   ini->WriteInteger( "Form", "Top", Top );
   ini->WriteInteger( "Form", "Left", Left );
   ini->WriteString ( "Form", "Caption", Caption );
   ini->WriteBool   ( "Form", "InitMax",
                       WindowState == wsMaximized );
   delete ini;
}

Een BEETJE moeite mag je er zelf ook wel voor doen hoor..... :(

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Wederom in de help staat dat TIniFile zich in de unit 'inifiles' bevindt. Ergo:
code:
1
#include <inifiles.hpp>

Professionele website nodig?


Verwijderd

Topicstarter
Ehm... Moet je programma nog werken onder win 3.11? ?
Nee, maar dit werkt toch ook bij een win32 applicatie. Of niet?
Zoniet, waarom kies je dan niet voor opslaan in de registry?
Ik vind het een beetje link om te gaan prutsen in de registry. Ik heb TRegistry ook zien staan maar het lijkt mij veiliger (voor mijn pc) om met een .ini file te werken. Of maak ik mij nu onnodig zorgen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Je maakt je onnodig zorgen.

En zoals curry684 reeds zei: in het vervolg zelf een beetje moeite doen en de help goed gebruiken. Er staat altijd wel voorbeeldcode in, en als je een error 'undefined symbol' krijgt, wil dat meestal zeggen dat je een header ofzo moet includen, en welke header dat is staat ook in de help.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Bij de help van TIniFile staat een grote highlighted link naar Using TIniFile
Dan heb ik toch een andere Help dan jou. Als ik bovenstaande info in mijn help had gevonden was ik er wel uitgekomen.

Maar in ieder geval bedankt voor de info.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 04 september 2002 @ 13:56:
[...]

Dan heb ik toch een andere Help dan jou.

Met een voorbeeld was ik er wel uitgekomen maar dat heb ik niet (in C++ code) kunnen vinden en delphi code kreeg ik niet aan het runnen.


Delphi code is makkelijk om te zetten naar BCB code aangezien ze beiden dezelfde VCL gebruiken.

https://fgheysels.github.io/


Verwijderd

Topicstarter
[quoteDelphi code is makkelijk om te zetten naar BCB code aangezien ze beiden dezelfde VCL gebruiken.[/quote]

Klopt, dat was het probleem ook niet, maar ik zag nergens welke libary geincluded moest worden.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 04 september 2002 @ 13:56:
Dan heb ik toch een andere Help dan jou. Als ik bovenstaande info in mijn help had gevonden was ik er wel uitgekomen.
Mmmmmmmm ik zit hier achter BCB5 terwijl nummer 7 al zowat uit is... welke prehistorische versie zit jij nog in te porren?

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 04 september 2002 @ 13:53:
Ik vind het een beetje link om te gaan prutsen in de registry. Ik heb TRegistry ook zien staan maar het lijkt mij veiliger (voor mijn pc) om met een .ini file te werken. Of maak ik mij nu onnodig zorgen.
Je moet voor de lol eens met regedit gaan kijken hoeveel troep zich in de registry bevindt... dat beetje rotzooi van jou kan er ook nog wel bij :)

Sowieso, je moet met een applicatie niet in HKEY_LOCAL_MACHINE gaan prutsen tenzij je echt weet waar je aan bezig bent, en dat is de enige plek waar je echt wat kunt verneuken. Zolang je in HKEY_CURRENT_USER blijft loopt het wel los.

Professionele website nodig?


  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

Verwijderd schreef op 04 september 2002 @ 13:53:
[...]

Nee, maar dit werkt toch ook bij een win32 applicatie. Of niet?

Ik vind het een beetje link om te gaan prutsen in de registry. Ik heb TRegistry ook zien staan maar het lijkt mij veiliger (voor mijn pc) om met een .ini file te werken. Of maak ik mij nu onnodig zorgen.
Je maakt je behoorlijk onnodig zorgen. Sinds win95 en NT4 (of misschien al wel NT 3.51, dat kan ik me even niet meer herinneren), zijn .ini-files voor programma's afgeschaft, en daarvoor in de plaats is een register gekomen die al die zut opslaat. Daar is 't voor, dus gebruik 't daar ook voor. (Bovendien levert 't een hoop extra voordelen op,zoals de keus om instellingen per user op te slaan of niet)

Verwijderd

Topicstarter
Mmmmmmmm ik zit hier achter BCB5 terwijl nummer 7 al zowat uit is... welke prehistorische versie zit jij nog in te porren?
4 :?

[ Voor 0% gewijzigd door Verwijderd op 04-09-2002 14:07 . Reden: foutje ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Versie 4 bestaat naar mijn weten niet.
Borland is imho van 3 naar 5 gegaan in z'n C++ Builder gamma.

(Als je het opstart, dan zie je toch welke versie het is? Anders via Help - Info).

https://fgheysels.github.io/


Verwijderd

Topicstarter
Versie 4 bestaat naar mijn weten niet.
Borland is imho van 3 naar 5 gegaan in z'n C++ Builder gamma.

(Als je het opstart, dan zie je toch welke versie het is? Anders via Help - Info).
Borland C++ Builder Professional Version 4.0 Build 14.4

  • rig0r
  • Registratie: Juli 2001
  • Laatst online: 11-03-2025
whoami schreef op 04 september 2002 @ 14:07:
Versie 4 bestaat naar mijn weten niet.
Borland is imho van 3 naar 5 gegaan in z'n C++ Builder gamma.

(Als je het opstart, dan zie je toch welke versie het is? Anders via Help - Info).
BCB 4 bestaat wel hoor, ligt hier in de kast :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
* whoami dacht echt dat ze 4 overgeslagen hadden. :+

https://fgheysels.github.io/


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

whoami schreef op 04 september 2002 @ 14:07:
Versie 4 bestaat naar mijn weten niet.
Borland is imho van 3 naar 5 gegaan in z'n C++ Builder gamma.

(Als je het opstart, dan zie je toch welke versie het is? Anders via Help - Info).
4 bestaat wel, en idd ik weet nog dat Borland destijds bij de release van 5 vertelde dat er veel meer examples in de help zouden komen. Wat dat betreft mea culpa naar knien dat ik hem valselijk beschuldigde 8)7

Je bent in de war met BCB2, die heeft nooit bestaan omdat men de versies met Delphi synchroon wilde houden.

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Pleidooi naar knien001: gebruik C++ Builder 5 of hoger. :)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Wat dat betreft mea culpa naar knien dat ik hem valselijk beschuldigde
Mag ik nu 1 domme vraag stellen? :+

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 04 september 2002 @ 14:15:
[...]


Mag ik nu 1 domme vraag stellen? :+


Mea culpa wil iets zeggen in de trant van 'vergiffenis' ofzo. Als dat je vraag mocht zijn.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Mea culpa wil iets zeggen in de trant van 'vergiffenis' ofzo. Als dat je vraag mocht zijn.
Mea culpa betekend volgens mij "mijn schuld". Dus dat was niet de domme vraag.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
knien dat zou ook kunnen...... Maar we gaan hier nu wel erg off-topic en over tot oeverloos geblaat.

Als jouw domme vraag ontopic is, kan je ze stellen... Anders stel ik voor dat we dit topic laten wegzakken.

https://fgheysels.github.io/

Pagina: 1