Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
121 internautes nous ont dit merci ce mois-ci
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm1 = class (TForm) edFirstName: TEdit; edLastName: TEdit; btnAdd: TButton; cbxUserData: TComboBox; dtpBirthDate: TDateTimePicker; procedure btnAddClick(Sender: TObject); procedure cbxUserDataChange(Sender: TObject); procedure FormDestroy(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.dfm} type {Déclaration d'un classe "helper" facilitant la mémorisation des données dasn la liste déroulante} TUserData = class public Firstname: string; LastName: string; BirthDate: TDate; end; procedure TForm1.btnAddClick(Sender: TObject); var UserData: TUserData; begin //Création d'un objet TUserData UserData := TUserData.Create; {On renseigne ses champs avec les valeurs saisies à l'écran} UserData.Firstname := edFirstName.Text; UserData.LastName := edLastName.Text; UserData.BirthDate := dtpBirthDate.Date; {Ajout de l'objet à la liste} cbxUserData.Items.AddObject(edLastName.Text, UserData); {L'item actif de la liste est celui qu'on vient d'ajouter} cbxUserData.ItemIndex := cbxUserData.Items.Count - 1; end ; procedure TForm1.cbxUserDataChange(Sender: TObject); var UserData: TUserData; begin {On s'assure d'abord qu'un élément est sélectionné !} if cbxUserData.ItemIndex <> -1then begin {On récupère l'élément TUserData actuellement sélectionné} UserData : = cbxUserData.Items.Objects[cbxUserData.ItemIndex] as TUserData; {On affiche les valeurs de l'élément TUserData actuellement sélectionné} edFirstName.Text := UserData.Firstname; edLastName.Text := UserData.LastName; dtpBirthDate.Date := UserData.BirthDate; end ; end; procedure TForm1.FormDestroy(Sender: TObject); var i: integer; begin {NE PAS OUBLIER de libérer les objets pointés par la liste !!! Ici, on détruit du dernier au premier :} for i : = cbxUserData.Items.Count - 1 downto 0 do cbxUserData.Items.Objects[i].Free; end; end.C'est un peu plus propre.
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.