|
|
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
|