Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1850 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°137351
Pilou2001
Posté le 10-05-2002 à 21:37:20  profilanswer
 

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

mood
Publicité
Posté le 10-05-2002 à 21:37:20  profilanswer
 

n°137355
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-05-2002 à 21:41:29  profilanswer
 

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
n°137369
Pilou2001
Posté le 10-05-2002 à 22:23:54  profilanswer
 

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

n°137374
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-05-2002 à 22:40:27  profilanswer
 

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
n°137375
JWhy
je peux plier (héhé)
Posté le 10-05-2002 à 22:41:46  profilanswer
 

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
n°305193
CATALINA
Nan suis pas une fille
Posté le 10-02-2003 à 00:04:23  profilanswer
 

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!
n°305244
taureau
Posté le 10-02-2003 à 09:17:16  profilanswer
 

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é ;)  
 

n°305280
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-02-2003 à 10:27:36  profilanswer
 

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)

n°305283
[SDF]Poire
Vive Grumly
Posté le 10-02-2003 à 10:29:18  profilanswer
 

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:
n°305306
CATALINA
Nan suis pas une fille
Posté le 10-02-2003 à 11:00:09  profilanswer
 

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!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

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

 

Sujets relatifs
[delphi]Comment faire un trait en diagonale ?[delphi]Je pige pas bien coment fonctione array pour les table de var!
[delphi]C'est possible de faire des traits ou cercle dans delphi ??utilisation de telnet dans une application Delphi
[delphi] puissance & extended[Delphi] Comment créer une procedure qui renvoit un résultat ?
Pbm avec les sockets Client et Server de Delphi ![delphi] mon programe a une erreur , je la trouve pas ...
[delphi]Ou est le bug ???? je suis sureque c un truc otut con en plus![delphi]Comment fonctione la stringgrid?
Plus de sujets relatifs à : [delphi]Comment marche la Combobox ......


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR