Enregistrer le contenu de tous les tedit dans un fichier

Soyez le premier à donner votre avis sur cette source.

Vue 6 408 fois - Téléchargée 895 fois

Description

Comment enregistrer le contenu de tous les composants de type TEdit :
- dans un fichier sans avoir à les appeler un par un,
- pouvoir recharger les données en les affectant dans les bons contrôles sans avoir à se préoccuper si la valeur existe ni si le contrôle existe sur la fiche.

Ce procédé est aussi valable pour d'autres composants dont le contenu serait compatible (string, integer, boolean, etc) avec les capacités de lecture/écriture d'un autre composant : le TIniFile.

Source / Exemple :


//Voici la procédure de sauvegarde :
var
  i : integer;
  Ini : TIniFile;
  Edit : TEdit;
begin
  Ini := TIniFile.Create(EditsFileName);
  try
  //parcourir les composants sur la fiche
  for i:=0 to ComponentCount - 1 do
    //si le composant trouvé est du type recherché
    if Components[i] is TEdit then
    begin
      //pour alléger l'écriture (!)
      Edit := TEdit(Components[i]);
      //écrire un entrée avec le nom et le contenu du contrôle
      Ini.WriteString(Section, Edit.Name, Edit.Text);
    end;
    btnVerifyFile.Enabled := True;
  finally
    Ini.Free;
  end;
end;

//et un autre extrait de la procédure de rechargement dans les TEdit
var
  i : integer;
  Ini : TIniFile;
  Edit : TEdit;
begin
  Ini := TIniFile.Create(EditsFileName);
  try
    For i:=0 to ComponentCount - 1 do
      if Components[i] is Tedit then
      begin
        Edit := Components[i] as TEdit;
        Edit.Text := Ini.ReadString(Section, Edit.Name, 'Non trouvé');
      end;
  finally
    Ini.Free;
  end;
end;

Conclusion :


Pour l'intégralité du code (n'est-ce pas Lucien [;-)]), le fichier .zip est joint.

Code source réalisé à la demande BenXBox.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

zulot
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007

Tres bonne source ma fois tres clair Merci

Par contre
try
...
finnally je connais peut etre une petite explication du comment ca marche.
cs_Zeroc00l
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010

C'est plutôt cool comme source parce que moi je faisait du vb avant et
en vb on pouvait indexer des controles sur la feuille,en delphi j'avais pas trouver comment.
En vb on créait un "groupe de controle" (Vb le faisait automatiquement lorsque deux controles de même type avaient le même nom ) et qu'en delphi ben il fallait plus jouer avec les objets.

Perso je ne connaissais pas la liste : Components[i]
le test de type non plus : if Components[i] is Tedit then ...

Merci je saurais comment transcrire les vieilles sources vb afin de leur redonner un peu de vigueur... grâce à la vitesse de delphi ! :)
9/10
BenXbox
Messages postés
211
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Merci pour ce code qui va grave me servire.
Mais j'ai une petite question : quant je veut mettre ce système dans mon application il me dit tjr 'Non Trouvé' .
Quel Démarche je doit faire que le fichier soit créer parce que la il le crée pas.

Merci pour ton aide.

Vous n'êtes pas encore membre ?

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

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 et codes sources.

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