File INI

Spesso può capitare che all'avvio di un software si necessiti di caricarsi dei dati, per esempio i dati di connessione ad un DB. Per fare questo ci vengono in aiuto i comodissimi file INI.


Un file ini è un semplice file di testo che finisce con estensione ini, ed è strutturato per sezioni, facciamo l'esempio di aver la necessità di caricare i dati per la connessione al database e i dati di altre configurazioni (lingua, versione, email,...).


Il file ini incriminato dovrebbe essere così strutturato

[ConnDB]

Host=localhost

Nick=pippo

Pwd=pluto

DBFile=c:\appoggio.s3db

[Altro]

Lingua=italiano

Ver=1.0

Questo file va salvato in C:\ con il nome Config.ini per poter essere coerente con l'esempio successivo.

Il programma che andrebbe a leggere questi dati dovrebbe essere così strutturato:


Program Project1;

 
{$mode objfpc}{$H+}
 
Uses

  Classes,SysUtils

  ,INIFiles {libreria per usare i file ini}

  ;

 
Var
 INI:TINIFile;
 Nick,Pwd,Host,DBFile, Lingua,Versione:String;
begin
  INI := TINIFile.Create('C:\Config.ini');

  Nick := INI.ReadString('ConnDB','Nick','');

  Pwd := INI.ReadString('ConnDB','Pwd','');

  Host := INI.ReadString('ConnDB','Host','');

  DBFile := INI.ReadString('ConnDB','DBFile','');

Lingua := INI.ReadString('Altro','Lingua','');

  Versione:= INI.ReadString('Altro','Ver','');

  Ini.Free; // After we used ini file, we must call the Free method of object

  {Faccio qualcosa con questi dati}

  ...

end.    

Come vedete è parecchio semplice usare i file ini nei propri progetti. Ovviamente non è il massimo lasciare in chiaro le password nei file ini, ma l'esempio sopra voleva essere semplice. In un prossimo how to spieghero come usare le funzioni crittografiche di Lazarus/Free Pascal, e con quelle nozioni capirete come ovviare al problema delle password in chiaro nei file INI.

 


SMF 2.0.8 | SMF © 2011, Simple Machines
Privacy Policy
SMFAds for Free Forums
TinyPortal © 2005-2012

Go back to article