Signaler

Utilisation du fichier ini

Posez votre question zikem - Dernière réponse le 28 déc. 2016 à 13:09 par Nessdarth
Bonjour,

J'ai un problème depuis quelques jours qui me tourmente l’esprit.
Mon problème est que je suis entrain de boucler un programme écrit en delphi avec une base mysql qui doit étre mise en réseau. L'ennui est que je cherche un moyen pour enregistrer les données de connexion (Par exemple : hostname,dbname,) de mon composant delphi sqlconnexion dans un fichier(inifile par exemple) que mon composant aura à utiliser pour se connecter à ma BD au chargement de l'application.

Merci pour votre attention.
Utile
+0
plus moins
J'imagine qu'il est un peu tard pour répondre mais bon..
voici un exemple de fonctions qui permetent d'écrire et de lire dans un fichier ini:

uses system.inifiles;

Procedure WriteIniFileStr(IniFilename, Section, key, Value: string);
Var
ini: TInifile;
Begin
ini := TInifile.create(IniFilename);
ini.WriteString(Section, key, Value);
ini.UpdateFile;
ini.free;
End;

Function ReadIniFile(IniFilename, Section, key, default: string): string;
Var
ini: TInifile;
Begin
ini := TInifile.create(IniFilename);
result := ini.ReadString(Section, key, default);
ini.free;
end;


Sinon pour avoir une réponse plus rapide je te conseille d'aller sur le forum delphi du site developpez.com
Franck
Donnez votre avis
Utile
+0
plus moins
Bonjour franckcl

J'ai continué de fouiller un peu sur le net et avec ton aide qui m'a été vraiment précieuse, j'ai pu intégrer quelques lignes de code à mon programme.

procedure Tfrmsplash.FormCreate(Sender: TObject);
var
FichierIni : TIniFile;
begin
FichierIni:=TIniFile.Create('E:\I-Bull_V2.0\Monfichier.ini');
FichierIni.WriteString('Database','HostName','127.0.0.1'); //Ecrit dans le fichier ini

dm.SQLConnection1.Params.LoadFromFile('E:\I-Bull_V2.0\Monfichier.ini');
dm.SQLConnection1.Open;

FichierIni.Free; //Libère le fichier

end;

Sauf qu'en le faisant ainsi, mon problème est presque résolu sauf l'apparition d'un message de violation d'acces mais quand je fait 'OK' le programme s'exécute normalement avec les paramètres de connexion que je lui passe dans mon fichier ini.

Merci de m'aider.
Donnez votre avis
Utile
+0
plus moins
Bonjour,

Donne le message d'erreur ça peut aider pour comprendre ce qui se passe.
Donnez votre avis
Utile
+0
plus moins
Bonjour Nessdarth, merci pour votre réponse. Voici donc le message d'erreur

"Violation d'accès à l'adresse 009255E7 dans le module 'NomProjet.exe'. Lecture de l'adresse 0000000E"

Mais quand je click sur OK, le programme s'exécute et prend en compte les paramètre du fichier .ini

Merci pour votre diligence!
Donnez votre avis
Utile
+0
plus moins
je ne pense pas que cela soit lié à l'utilisation du fichier ini, dont le code me semble correcte, ce genre de message survient quand on utilise un objet qui n'est pas initialisé.

Te reste plus qu'à débugger pour savoir où exactement la violation se produit et quel est l'objet concerné.
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !