Ini

Résolu
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 19 juil. 2004 à 15:15
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 - 20 juil. 2004 à 15:04
bonjour bon ....
il n'y a pas plus debutant que moi en delphi j'ai commencer ce matin a 10heure et j'ai deja une question:
j'ai creer une feuille avec plusieur checkbox et je voulais savoir comment verifier si elle etait activé pour avec les infos recupere cree un fichier ini et en mettant outes ses action dans un seul boutton?
merci de vos reponse

12 réponses

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
19 juil. 2004 à 17:26
Attention, j'ai fait une petite erreur (la faute au copier/coller...)

C'est le même fichier qu'il faut appeler en écriture comme en lecture, ça va de soi, mais enfin...

 FichierIni:= TIniFile.Create('Chemin\TonFichier.ini');


Je précise à cette occasion que le Chemin est celui du répertoire où tu veux placer 'TonFichier.ini'.
Tu peux donner l'extension que tu veux à ce fichier (pas forcément .ini).
Si tu ne précises pas de Chemin, le fichier créé sera placé automatiquement dans le répertoire de Windows.
Il est à priori préférable de le placer dans le répertoire de ton Appli.
N'hésite pas à demander des explication à ce sujet, je ne sais pas si tu as une expérience dans un autre langage de prog', mais sinon tout ça peut te paraître un peu "indigeste"...
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 18:05
merci de ta reponse je vais essaye si j'ai des probleme je reposterais un message
pour de repondre je connais bien le java j'ai de bonne base et en c++ et quelque une en php mais le code a le voir comme ca ca me parait..simple ce n'est peut etre q'une illusion mais bon je dit sa sans me vanter mais la synthaxe est simple et relativement ... intuitive si j'ai autant de mal c que je l'apprend a travers un site ou il y a pas mal de tuto(http://delphipage.free.fr/tutoriaux.html)

et encore merci

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 18:09
je vais aller voir ton tuto des que j'ai finnis de tester ta rep

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 18:20
non il y a un petit probleme a la premiere ligne

FichierIni: TIniFile;

FichierIni:= TIniFile.Create('preference.ini');

FichierIni.WriteBool('cle1', '1', CheckBox1.Checked);
FichierIni.WriteBool('clé2', '1', CheckBox2.Checked);
FichierIni.WriteBool('clé3', '1', CheckBox3.Checked);
FichierIni.WriteBool('clé4', '1', CheckBox4.Checked);
FichierIni.WriteBool('clé5', '1', CheckBox5.Checked);
FichierIni.WriteBool('clé6', '2', CheckBox6.Checked);
FichierIni.WriteBool('clé7', '2', CheckBox7.Checked);
FichierIni.WriteBool('clé8', '2', CheckBox8.Checked);
FichierIni.WriteBool('clé9', '2', CheckBox9.Checked);
FichierIni.WriteBool('clé10', '3', CheckBox10.Checked);
FichierIni.WriteBool('clé11', '3', CheckBox11.Checked);
FichierIni.WriteBool('clé12', '3', CheckBox12.Checked);

FichierIni.Free;

la ligne souligne est fausse mais ce que j'ai ecrit semble dire que toute les case sont coche il faut peut etre que je mette une condition non?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 18:21
ps j'ai bien ajoute : uses IniFiles;

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 18:33
j'ai penser que tu preferais avoir le code complet
:

unit preference;

interface

uses
  Windows,IniFiles, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    Label2: TLabel;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    Label3: TLabel;
    CheckBox10: TCheckBox;
    CheckBox11: TCheckBox;
    CheckBox12: TCheckBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

  var FichierIni: TIniFile;
     begin

FichierIni:= TIniFile.Create('preference.ini');

FichierIni.WriteBool('cle1', '1', CheckBox1.Checked);
FichierIni.WriteBool('clé2', '1', CheckBox2.Checked);
FichierIni.WriteBool('clé3', '1', CheckBox3.Checked);
FichierIni.WriteBool('clé4', '1', CheckBox4.Checked);
FichierIni.WriteBool('clé5', '1', CheckBox5.Checked);
FichierIni.WriteBool('clé6', '2', CheckBox6.Checked);
FichierIni.WriteBool('clé7', '2', CheckBox7.Checked);
FichierIni.WriteBool('clé8', '2', CheckBox8.Checked);
FichierIni.WriteBool('clé9', '2', CheckBox9.Checked);
FichierIni.WriteBool('clé10', '3', CheckBox10.Checked);
FichierIni.WriteBool('clé11', '3', CheckBox11.Checked);
FichierIni.WriteBool('clé12', '3', CheckBox12.Checked);

FichierIni.Free;

end;

end.


"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
19 juil. 2004 à 19:31
Je crois comprendre ce qui te tourmente.

En fait, quand tu déclares :

FichierIni.WriteBool('cle1', '1', CheckBox1.Checked);


"CheckBox1.Checked" est un Boolean.
S'il est coché, CheckBox1.Checked = True,
s'il ne l'est pas, CheckBox1.Checked = False.

Pas besoin de if... then

Je vois aussi que je m'étais un peu planté dans le code au dessus. Ca devraut plutôt donner ceci :

uses IniFiles;

procedure TForm1.LitFichierIni; // lecture dans le fichier ini
var
FichierIni: TIniFile;
begin
FichierIni:= TIniFile.Create('Chemin\TonFichier.ini');
// écriture de valeurs de type booléen
CheckBox1.Checked := FichierIni.ReadBool('clé', 'valeur1', false);
CheckBox2.Checked := FichierIni.ReadBool('clé', 'valeur2', true);
// etc...
FichierIni.Free;
end;

procedure TForm1.EcritFichierIni; // écriture dans le fichier ini
var
FichierIni: TIniFile;
begin
FichierIni:= TIniFile.Create('Chemin\user.ini');
// écriture de valeurs de type booléen
FichierIni.WriteBool('clé', 'valeur1', CheckBox1.Checked);
FichierIni.WriteBool('clé', 'valeur2', CheckBox2.Checked);
// etc...
FichierIni.Free;
end;


ce qui donnera, dans le fichier ini:

[clé]
valeur1=0
valeur2=1

C'est mieux expliqué dans mon didactitiel.

Bonne prog' [;p]
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 19:52
donc ca me vas mais ton dictaciel je doit avouer que je n'ai pas eut le temps d'aller le voir je teste ce que tu m'as donner et je te dirais si ca marche

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2004 à 20:00
je sias que je commence a etre penible mais ca compile mais ca creer pas je rappelle que c l'effet d'un boutton
:

procedure TForm1.Button1Click(Sender: TObject);

var FichierIni: TIniFile;
begin
FichierIni:= TIniFile.Create('preference.ini');

FichierIni.WriteBool('cle1', '1', CheckBox1.Checked);
FichierIni.WriteBool('clé2', '1', CheckBox2.Checked);
FichierIni.WriteBool('clé3', '1', CheckBox3.Checked);
FichierIni.WriteBool('clé4', '1', CheckBox4.Checked);
FichierIni.WriteBool('clé5', '1', CheckBox5.Checked);
FichierIni.WriteBool('clé6', '2', CheckBox6.Checked);
FichierIni.WriteBool('clé7', '2', CheckBox7.Checked);
FichierIni.WriteBool('clé8', '2', CheckBox8.Checked);
FichierIni.WriteBool('clé9', '2', CheckBox9.Checked);
FichierIni.WriteBool('clé10', '3', CheckBox10.Checked);
FichierIni.WriteBool('clé11', '3', CheckBox11.Checked);
FichierIni.WriteBool('clé12', '3', CheckBox12.Checked);

FichierIni.Free;

end;

end.

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
19 juil. 2004 à 21:03
Ton fichier ini est créé, man, mais il se trouve dans le répertoire de Windows. Tu n'as pas tout bien lu ce qui était dit au-dessus...
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
20 juil. 2004 à 13:58
merci beaucou en effet ct tellement rapide (la creation) que je croyais que rien ne se passer et une autre question
pour recupere un valeur dans le champd d'un texte c
lenomdelavariable.Text?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
20 juil. 2004 à 15:04
Si c'est pour lire les valeurs dans ton fichier ini, c'est expliqué plus haut, ainsi que dans le didactitiel.
Si tu ne sais pas comment ouvrir un fichier texte en lecture, c'est une toute autre question, et je t'invite à la poser dans le forum sous le titre qui convient.
Tout le monde en profitera, il y aura plus d'intervenants pour y répondre, et on s'y retrouvera mieux (le titre de ta question (marquée comme "résolue" par un admin) était "ini", je te rappelle) ;)
A + :)
0
Rejoignez-nous