motoetmotards
Messages postés5Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 février 2008
-
23 mars 2006 à 10:54
motoetmotards
Messages postés5Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 février 2008
-
24 mars 2006 à 08:48
Bonjour.
Je suis en stage et dois développer une appli de réparation de fichiers ini.
Dans mon programme delphi, j'ai une array contenant des strings caractérisants le fichier ini (nom fichier,section,nom elt,valeur).
Je voudrai ecrire dans ce fichier les differentes valeurs dans une meme section, mais a chaque ecriture avec WriteString, cela efface la valeur précédente et remplace avec la nouvelle.
Par exemple : Au départ mon fichier ini est tel que :
*Fichier abc.ini :
[Section 1]
Elt1 = Valeur1
Elt2 = Valeur2
Si j'utilise la méthode :
WriteString('Section 1','Elt3','Valeur3')
Le fichier devient :
*Fichier abc.ini :
[Section 1]
Elt3 = Valeur3
Les données précédentes ont été effacées, est-ce que quelqun a la solution a ce problème
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 23 mars 2006 à 16:57
Salut,
ton problème viens d'ailleurs je pense, l'utilisation de WriteString ne réécris pas les entrées existantes à moins qu'on lui demande mais du moment que "Ident" est unique il l'ajoute au fichier.
Voici un petit exemple qui fonctionne:
procedure TForm1.Button11Click(Sender: TObject);
Var I, Nbr : Integer;
begin With TIniFile.Create('c:\abc.ini') do Begin Nbr := ReadInteger('Nombres d''entrées', 'Nbr', 1);
For I : = Nbr to Nbr + 4 do WriteString('Section 1', 'Idx'+ IntToStR(I), 'Valeur Teste');
WriteInteger('Nombres d''entrées', 'Nbr', I);
Free;
End;
end;
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 24 mars 2006 à 08:14
Salut,
Je confirme ce que dit Cirec, et, à mon avis, tu ne modifie pas ton fichier ini mais tu en crées un nouveau ! Vérifie le nom complet (répertoire inclus) du fichier ini d'origine et celui que tu crées pour écrire (
TIniFile.Create(NomDuFichierIni) ).