Home
INIMANAGER: una classe per trattare i file .ini
Mi
capita spesso di realizzare e/o utilizzare applicazioni dove alcuni dei
parametri che controllano il funzionamento del programma vengono
definiti attraverso dei file di setup, utilizzando un formato del tipo:
[sezione]
#commento
parametro1=valore
parametro2=valore
etc.
In ambiente windows ciò è ben noto come formato ".ini". Sebbene esso
sia
ormai obsoleto (a partire da Windows 95 si usano i registry di
windows),
è tuttavia un formato comodo da utilizzare, specie se
si realizza
un'applicazione destinata a funzionare non solo sotto Windows, ma anche
per esempio su Linux o *BSD.
Molti ambienti di sviluppo offrono
delle classi per gestire il formato .ini: ad esempio l'ambiente Borland
C++ Builder dispone dell'oggetto TINIFile. Tuttavia il problema è che
questi oggetti sono solitamente non portabili da un sistema operativo
all'altro. Così ho finito con il costruirmi una classe ad hoc per
manipolare i file .ini, che potete prelevare
qui.
Non è una classe molto sofisticata, ma dovrebbe essere
portabile
un po' dovunque. Usarla è molto semplice: seguite l'esempio, o guardate
la breve documentazione presente nel sorgente:
#include "IniManager.h"
......
string s;
int i;
float f;
IniManager MyIni("dsp.ini");
MyIni.Get("username", s, "none", "");
MyIni.Get("firlen", i, 255, "FILTROA");
MyIni.Get("f0", f, 12500.0, "FILTROB");
MyIni.Write("dsp2.ini");
se il file di input è:
username=Vittorio
[FILTROA]
firlen=201
BW=6000.0
[FILTROB]
firlen=1024
BW=170.0
f0=14625.0
dopo l'esecuzione del programma si ha che username="Vittorio",
firlen=201 e f0=12500, e il file dsp2.ini conterrà:
username=Vittorio
[FILTROA]
f0=12500.0
firlen=201
BW=6000.0
[FILTROB]
firlen=1024
BW=170.0
f0=14625.0
Il metodo Get() ritorna true se il parametro cercato è presente nel
file .ini di input, altrimenti ritorna false.
Home
Tutti
i diritti riservati. La riproduzione di testo e figure di questo sito è
protetta dalle norme di legge internazionali sul diritto d'autore.