bon je profite de ce poste... au cas oú ben j'en ouvrirais un mais le titre de celui-ci me semble approprié , je galère avec les combobox, je n'arrive pas à comprendre et je suis obligé de bidouillé pour obtenir le résultat désiré ça marche mais c est pas vraiment trés propre
le but en fait serait de mettre un Tcombobox oú l'on pourrait choisir des valeurs et de les reprendre, pour mon éxemple:
on choisi son année de naissance dans une Tcombobox et un Tlabel, ou un Tedit affiche votre age... je sais c' est basique, mais pour comprendre il faut ce qu'il faut
j'ai récupéré un bout de code sur le net, et j ai presque compris comment ça marche...:
Code :
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i : Integer;
- texte: string;
- begin
- ComboBox1.Items.Clear;
- for i:= 1940 to 2003 do {là je remplit ma combobox}
- begin
- texte:= Format('année %d', [i]);
- ComboBox1.items.AddObject(texte, TObject(i));
- end;
- end;
- procedure TForm1.ComboBox1Change(Sender: TObject);
- var
- ndx: Integer;
- anne : integer;
- begin
- ndx:= ComboBox1.ItemIndex;
- if ndx = -1 then
- edit1.text:= 'Pas d''année sélectionnée'
- else
- edit1.text:= IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
- label1.caption :=IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
- anne:=StrToInt(label1.caption);
- label1.caption:=IntToStr(2003 - anne);
- end;
|
bon, jusque là j'a presque capté.. sauf que là:
Code :
- edit1.text:= IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
|
je ne comprends plus.
je n arrive pas à récupéré directement le contenu de ma combobox dans une variable, si je fais:
Code :
- var
- anne1 : string;
- anne1 :=(ComboBox1.Items.Objects[ndx]);
- showmessage(anne1);
|
il me sort que string et Tobject sont incompatible, là je veux bien..mais comment convertir mon Tobject?
en revanche si je bidouille comme cela ça passe:
Code :
- anne1 :=IntTostr(Integer(ComboBox1.Items.Objects[ndx]));
- showmessage(anne1)
|
bon en fait j aimerais comprendre au lieu de bidouiller un bout de de code trouvé sur le net
je crois que je n'ai pas trop compris comment fonctionnais une combobox...
en clair:
y a-t-il un moyen simple d 'accéder à la propriété de la sélection contenu dans la combobox?
un peu à la manière que j accède à la propriété text d'un label genre
label1.text
mais pour la combobox...
actuellement je n'y arrive qu'en bidouillant.. ou alors de manière statique genre:
Code :
- anne1:=(combobox1.items[3]);
- showmessage(anne1);
|
je sais pas si j'ai été très clair... y la fatigue... les relents d alcool pis en secret là je viens de me lever et je vais pas trop tarder à y retourner
alors si vous avez eu la patience et le courage de lire ça jusqu'au bout
j'vais éditer un peu pour que ce soit plus clair.. je crois que j ai encore pondu un gros paté
je n'ai pas trouvé de tuto (en français ) bien fourni sur ce composant, et je n'avance pas trés trés vite sur ceux auxquels je m 'acharne dés que j'ai un peu de temp!
bonne semaine!
--------------------------------------------------------------------
ce que j ai trouvé de bien pour le moment:
l'éxemple viens de ce poste trouvé sur ce tomic
c'est ça en gros:
Code :
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i: Integer;
- texte: string;
- begin
- ComboBox1.Items.Clear;
- for i:=1 to 10 do
- begin
- texte:= Format('Ligne n° %d', [i]);
- ComboBox1.items.AddObject(texte, TObject(i));
- end;
- end;
- procedure TForm1.ComboBox1Change(Sender: TObject);
- var
- ndx: Integer;
- begin
- ndx:= ComboBox1.ItemIndex;
- if ndx = -1 then
- Label1.Caption:= 'Pas d''item sélectionné'
- else
- Label1.Caption:= IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
- end;
|
Message édité par CATALINA le 10-02-2003 à 00:22:06
---------------
Twitch YoutubeGaming Hitbox à toute, maooow!