|
Le composant TComboBox et TInifilesPour une petite application de base de données, j'avais besoin d'une liste enrichissable à la saisie d'un nouvel élément. Pour réaliser ce truc, j'ai utilisé un TComboBox et pour sauvegarder, un objet Tinifiles. Enrichissement d'une liste au fur et à mesure de la saisieCréation des objets dans une ficheDans un premier temps, insérer dans une fiche un TComboBox avec les propriétés suivantes :
Création d'une procédure AjouteElementCette procédure servira à ajouter un élément nouveau dans la liste du TComboBox. Nous vérifions si la chaine est nouvelle avec la méthode IndexOf. Cette procédure peut être déclarée dans la section privée de la fiche private { Private declarations } Procedure AjouteClassement(texte:String); ........ ........ Procedure TEditArticle.AjouteClassement(texte:String); begin if texte<>'' then if Classement.Items.Indexof(texte)=-1 then Classement.Items.Add(Texte); end; Choix de l'événement pour l'insertion d'un élémentIl y a plusieurs possibilités pour le choix de l'événement. Nous pouvons utiliser l'événement OnExit du TComboxBox, l'élément nouveau sera automatiquement inséré quand nous passerons le focus à un autre focus. On pourrait utiliser l'événement OnHide ou OnClose de la fiche. procedure TEditArticle.ClassementExit(Sender: TObject); begin AjouteClassement (Classement.Text); end; Télécharchez l'exemple PCombo.zip (1,7 Ko) Sauvegarde de la liste d'élémentsNous allons nous intéresser de la sauvegarde de la liste d'éléments. Nous
utiliserons un objet Tinifile. Celui-ci sauvegarde et lit un fichier INI. implementation {$R *.DFM} uses inifiles; Var ListeIni:Tinifile; Ensuite il suffit de créer les routines de sauvegarde et de lecture avec les événement OnCreate de la fiche et Onclick du bouton sauvegarde. procedure TCombo.FormCreate(Sender: TObject); var i,count:integer; begin //raz de la liste Classement.Clear; //ouverture du fichier Liste.ini ListeIni:=Tinifile.create('Liste.ini'); //récupération du nombre d'éléments Count:=ListeIni.ReadInteger('Classement','Nombre',0); //Lecture des éléments de la liste for i:=1 to Count do Classement.Items.Add (ListeIni.ReadString('Classement',intToStr(i),'')); //Libération de la mémoire ListeIni.Free; end; procedure TCombo.BitBtn2Click(Sender: TObject); var i,count:integer; begin //ouverture du fichier Liste.Ini ListeIni:=Tinifile.create('Liste.ini'); //écriture du nombre d'éléments ListeIni.WriteInteger('Classement','Nombre',Classement.Items.Count); //sauvegarde de tous les éléments for i:=0 to Classement.Items.Count-1 do ListeIni.WriteString('Classement',intToStr(i+1),Classement.Items[i]); //libération de la mémoire ListeIni.Free; end; Télécharchez l'exemple PCombo1.zip (1,7 Ko) Dernière modification : 16 février 1998 |
Pour toute question ou remarque concernant ce site Web, envoyez un email à Kermith@Club-Internet.fr
|