Recherche
1 connecté

  Utilisation du composant SvgEditIni

Le composant SvgEditIni

Retour à la page Delphi
dernière mise à jour le : dimanche 07 janvier 2007

 

Description du composant

Les composants tels que les TEdit sont souvent utilisés pour permettre à l'utilisateur du programme de rentrer des données. Il est souvent nécessaire lorsque l'utilisateur quitte le programme, que ces données soient sauvegardées afin d'être de nouveau affichées dans le compsant à l'ouverture du programme.

La dernière version du composant sauvegarde les TEdit, TDateTimePicker, TCheckBox, TRadioButton, TSpinEdit,

Il sauvegarde également le contenu des StringGrid, le texte des TMemo, TRichEdit (sans le formatage), TComboBox, TListBox, TCheckListBox et des TTrackBar.

 

Propriétés

SauveEdit : permet de dire si on veut que la sauvegarde et la lecture concernent les TEdit (pour la fiche sur laquelle est posé ce SvgEditIni). Valeur par défaut : True)

De même on a :
SauveDateTimePicker. Valeur par défaut : True
SauveCheckBox . Valeur par défaut : True
SauveRadioButton . Valeur par défaut : True
SauveSpinEdit . Valeur par défaut : True
SauveMemo . Valeur par défaut : False
SauveRichEdit . Valeur par défaut : False
SauveComboBox . Valeur par défaut : False
SauveListBox . Valeur par défaut : False
SauveCheckListBox. Valeur par défaut : False
SauveStringGrid : Valeur par défaut : False
FSauveTrackBar : Valeur par défaut : False

Variable utile :

IsLoaded : est à False tant que le chargement du composant n'est pas achevé. Il passe ensuite à True. Il permet par exemple, à l'intérieur de l'événement OnChange d'un Edit, de contrôler si SvgEditIni a fini de modifier la propriété Text de l'Edit. Dans l'exemple suivant, si on ne faisait pas le test, on pourrait avoir le message d'erreur suivant : "Impossible de focaliser une fenêtre déactivée ou invisible" .

Explication : Au chargement du programme, alors que la fenêtre n'est sont pas encore visible, SvgEditIni modifie la valeur de Edit1.Text. Cela déclenche le OnChange de l'Edit. Si on cherche à ce moment là à faire edit2.setfocus, cela déclenche une erreur car on ne peut donner le focus à un Edit qui n'est pas encore visible.

procedure TForm1.Edit1Change(Sender: TObject);
begin
  If svgeditini1.IsLoaded Then edit2.setfocus;
  edit2.setfocus;
end;

Principe de fonctionnement

Pour l'utiliser : placer le composant sur la fiche principale ("Form1") de votre application (obligatoire). Placez le aussi sur les fiches dont vous voulez sauvegarder les valeurs. Les autres fiches ne seront pas sauvegardées.

A la fermeture de la fiche principale (et donc du programme), le programme scanne tous les composants des fiches de votre application. Il sauvegarde leur propriétés Text, Checked etc.. respectives dans un fichier ini portant le même nom que le programme. Ce fichier est placé dans le dossier de Windows. Attention, si vous fermez le programme par application.terminate, Delphi ne déclenche pas de close pour la fiche principale. Les données ne sont donc pas sauvées.

A l'ouverture du programme, l'opération inverse est effectuée. Les composants de votre fiche sont initialisés à l'aide de ce fichier ini. Là encore, la lecture des données a lieu à l'ouverture de la fiche principale. Les données ne sont donc pas lu tant que cette fiche n'est pas ouverte.

 

Chargement du composant

Télécharger le composant puis installez le (voir page installation des composants)


Test du composant

Ouvrez un nouveau projet. Placez y des TEdit. Placez le composant SvgEditIni sur votre fiche principale.

Lancez le projet (F9), modifiez les valeurs des Edit, Fermez le projet.

Lancez de nouveau le projet (F9). Les Edit ont conservés les nouvelles valeurs.

Si vous créez une fiche secondaire, si vous ne placez pas de SvgEditIni sur cette dernière, la sauvegarde ne se fera pas. Si vous en placez un, la sauvegarde se fera.

 

 


retour au sommaire