[delphi]Comment marche la Combobox ......

Comment marche la Combobox ...... [delphi] - Delphi/Pascal - Programmation

Marsh Posté le 10-05-2002 à 21:37:20    

Voila
JE voudrai juste savoir comment on fait pour ajouter des elements dans une combobox et comment faire ensorte de verouillé une combo box , c'est a dire qu'on ne puisse que selectionée parmi les vlaeur et non pas  entrer soit meme une valeur ....
 
Merci

Reply

Marsh Posté le 10-05-2002 à 21:37:20   

Reply

Marsh Posté le 10-05-2002 à 21:41:29    

Pour ajouter les éléments c'est pareil que la listbox... http://forum.hardware.fr/forum2.php3?post=19222&cat=10
Pour ne pas pouvoir entrer du texte autre que les choix de la liste, faut changer sa propriété "Style".
Dis tu cherche un peu avant de poster des topics ? [:f1key]
Si tu continues à poser autant de petites questions, fais un gros topic "[Delphi] Les problèmes de pilou" parce que là tu vas bientôt détenir le record du nombre de post par une seule personne dans le forum... :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-05-2002 à 22:23:54    

apparament non ...:
 
si je fait
combobox1.items.add('test';);
 
ça marche pas .., il connait pas items ..  
 
 
sinon c pas con .. mon prochain topic sera deplphi : les probleme de Pilou :)

Reply

Marsh Posté le 10-05-2002 à 22:40:27    

Bah tu peux déjà renommer celui-ci :D
http://forum.hardware.fr/edit.gif dans ton premier post.
 
Et chez moi il connait Combobox1.Items.Add('...';);
Donc t'as dû faire une faute de frappe...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-05-2002 à 22:41:46    

c'est pas le meme pb que tout a l'heure, a savoir que tu utilises ton objet dans une procedure/fonction qui n'est pas une methode de ta TFormXYZ ?!?


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 10-02-2003 à 00:04:23    

bon je profite de ce poste... au cas oú ben j'en ouvrirais un mais le titre de celui-ci me semble approprié :D , 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 :O
 
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 :P :)
 
j'ai récupéré un bout de code sur le net, et j ai presque compris  comment ça marche...:
 

Code :
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3. i : Integer;
  4. texte: string;
  5. begin
  6. ComboBox1.Items.Clear;
  7. for i:= 1940 to 2003 do  {là je remplit ma combobox}
  8.   begin
  9. texte:= Format('année %d', [i]);
  10. ComboBox1.items.AddObject(texte, TObject(i));
  11.   end;
  12. end;
  13. procedure TForm1.ComboBox1Change(Sender: TObject);
  14. var
  15.    ndx: Integer;
  16.    anne : integer;
  17. begin
  18.    ndx:= ComboBox1.ItemIndex;
  19. if ndx = -1 then
  20. edit1.text:= 'Pas d''année sélectionnée'
  21. else
  22. edit1.text:= IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
  23. label1.caption :=IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
  24. anne:=StrToInt(label1.caption);
  25. label1.caption:=IntToStr(2003 - anne);
  26. end;

 
bon, jusque là j'a presque capté.. sauf que là:
 

Code :
  1. 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 :
  1. var
  2. anne1 : string;
  3. anne1 :=(ComboBox1.Items.Objects[ndx]);
  4. 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 :
  1. anne1 :=IntTostr(Integer(ComboBox1.Items.Objects[ndx]));
  2. 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 :P genre
 
label1.text
mais pour la combobox...
 
actuellement je n'y arrive qu'en bidouillant.. ou alors de manière statique genre:
 
 
 

Code :
  1. anne1:=(combobox1.items[3]);
  2. showmessage(anne1);


 
je sais pas si j'ai été très clair... y la fatigue... les relents d alcool :P :ange:  :love:  pis en secret là je viens de me lever :P :D et je vais pas trop tarder à y retourner  :sleep:  
alors si vous avez eu la patience et le courage de lire ça jusqu'au bout :jap: :jap: :jap:
 
j'vais éditer un peu pour que ce soit plus clair.. je crois que j ai encore pondu un gros paté :sweat: [:fred998]  
 
 
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 :
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.  i: Integer;
  4.  texte: string;
  5. begin
  6.  ComboBox1.Items.Clear;
  7.  for i:=1 to 10 do
  8.  begin
  9.    texte:= Format('Ligne n° %d', [i]);
  10.    ComboBox1.items.AddObject(texte, TObject(i));
  11.  end;
  12. end;
  13. procedure TForm1.ComboBox1Change(Sender: TObject);
  14. var
  15.  ndx: Integer;
  16. begin
  17.  ndx:= ComboBox1.ItemIndex;
  18.  if ndx = -1 then
  19.    Label1.Caption:= 'Pas d''item sélectionné'
  20.  else
  21.    Label1.Caption:= IntToStr(Integer(ComboBox1.Items.Objects[ndx]));
  22. end;


Message édité par CATALINA le 10-02-2003 à 00:22:06

---------------
Twitch YoutubeGaming Hitbox à toute, maooow!
Reply

Marsh Posté le 10-02-2003 à 09:17:16    

il faut comprendre que dans un objet de type TStrings, TStringList tu peux stocker une chaine (du texte) au travers de la propriété Items et un pointeur sur un TObject dans Objects, ici dans ton code le petit truc c'est qu'au lieu d'un vrai pointeur sur un objet on stocke un nombre ...
 
donc si tu veux juste manipuler des chaines de texte, tu vires tout le code qui utile Objects  
 
donc tu fais  
 

for i:= 1940 to 2003 do  {là je remplit ma combobox}  
 ComboBox1.items.Add(IntToStr(i));


 
et pour récupérer tu fais un truc du style showmessage('année '+ComboBox1.items[3]);
 
c'est pas plus compliqué, mais tu sais si tu avais lu les exemples de la doc tu aurais vite pigé ;)  
 

Reply

Marsh Posté le 10-02-2003 à 10:27:36    

y a aussi combobox.Text / combobox.Items[combobox.ItemIndex] pour l'élément courant (le second code plante si rien n'est sélectionné :D)

Reply

Marsh Posté le 10-02-2003 à 10:29:18    

antp a écrit :

Pour ajouter les éléments c'est pareil que la listbox... http://forum.hardware.fr/forum2.php3?post=19222&cat=10
Pour ne pas pouvoir entrer du texte autre que les choix de la liste, faut changer sa propriété "Style".
Dis tu cherche un peu avant de poster des topics ? [:f1key]
Si tu continues à poser autant de petites questions, fais un gros topic "[Delphi] Les problèmes de pilou" parce que là tu vas bientôt détenir le record du nombre de post par une seule personne dans le forum... :D  


Mon clavier :love:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 10-02-2003 à 11:00:09    

merci pour les infos :jap:
j'étais chez mon frère et son delphi est un peu nase, il ne disposait pas des fichier d'aide sur ces composants :(
 
et pis j'ai un peu de mal  avec les pointeur (mais ça viendra :) )
 
 
le problème n'est pas tant de créé la liste mais plutôt d y accèder, pour ce qui est de la vérouiller ça c est acquis :)(style/CsDropDownlist  si je ne me trompe pas)
c'est vrai que cela va bcp mieux lorsque l on est net :P
 
là je ne peux tester je n'ai pas encore Delphi @job :(
merci pour les réponses :)
 
 
au fait.... j'ai quand même chercher pas mal de temps (surement mal...), sinon je n'aurais pas posté ;)


---------------
Twitch YoutubeGaming Hitbox à toute, maooow!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed