Stocker le choix d'un RadioGroup en Delphi

Résolu
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007 - 14 mai 2005 à 22:54
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 - 17 mai 2005 à 18:52
Bonjour, c'est encore moi :p

Je cherche le moyen de stocker le choix d'un RadioGroup en Delphi

comme par exemple: l'utilisateur à 4 choix, il en choisit un(en cliquant sur le point) et ce qu'il a cliqué(le texte du choix(Ex:Oui)) doit être stocké dans une variable string et ensuite doit s'afficher dans un menu....tout fonctionne à part la saisie du choix et du stockage de ce dernier dans une variable...

j'espère que c'est assez clair pour vous, lol

Merci d'avance :)

18 réponses

cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
15 mai 2005 à 08:03
d'accord, je m'en doutais un peu, haha

Formno3.Memo1.Lines.Add(Salaire:'+Salaire);

Salaire étant la variable String

voici ce que j'ai

------------------------------------------------------
procedure TForm1.RadioGroup3Exit(Sender: TObject); (J'ai aussi essayé avec d'autre événements
begin
if RadioGroup3.ItemIndex= 0 then

Salaire:='de 0 à $10 000'

else if RadioGroup3.ItemIndex = 1 then


Salaire:='de $10 000 à $20 000'


else if RadioGroup3.ItemIndex = 2 then


Salaire:='de $20 000 à $50 000'


else if RadioGroup3.ItemIndex = 3 then

Salaire := '$50 000 et plus'

(j'ai essayé de plusieurs façons, mais j'ai sauvegardé avec cela)
---------------------------------------------------

j'ai aussi essayé avec Radiogroup.Items.Text, mais ça non plus ça ne fonctionne pas, la variable reste vide

est-ce c'est un peu plus clair???
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 mai 2005 à 09:55
Utilises plutôt l'évènement click du radiogroup.
Réponse en code :
var
  Salaire: string;

procedure TForm1.RadioGroup3Click(Sender: TObject);
begin
with RadioGroup3 do
    Salaire :=  TRadioButton(Components[ItemIndex]).Caption;
  //pour vérification :
  Formno3.Memo1.Lines.Add(Salaire:'+Salaire);
 end ;

Comme ça, pas de If en cascade ou imbriqués mais une réponse directe !



<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
3
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
15 mai 2005 à 10:00
Salut,



Ce serait encore plus clair si tu utilisais un Case Of !



Case RadioGroup1.ItemIndex of

0 : Salaire := 'de 0 à $10 000';

1 : Salaire := 'de $10 000 à $20 000';

2 : Salaire := 'de $20 000 à $50 000';

3 : Salaire := '$50 000 et plus';

end ;



Si tu utilises
Radiogroup.Items.Text, tu récupères tous les intitulés des RadioButton du groupe.

Utilise RadioGroup.Items[RadioGroup1.ItemIndex].



Mais vu ton problème, tu devrais regarder si la variable Salaire n'est pas déclarée plusieurs fois ...



Ken@vo
<hr size ="2" width="100%">Code, Code, Codec !


http://www.pourflorenceethussein.org/
3
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
15 mai 2005 à 11:07
Entièrement d'accord avec toi DelphiProg !



Je conseillais Case of par principe, plutôt que les If en cascade, mais ça, on en a déja beaucoup parlé ici !



Par contre à la place de :


  with RadioGroup3 do
    Salaire := TRadioButton(Components[ItemIndex]).Caption;



J'aurais mis :

Salaire := RadioGroup3.Items[RadioGroup3.ItemIndex];




Y a pas faute ?



Ken@vo

<hr size="2" width="100%">Code, Code, Codec !




http://www.pourflorenceethussein.org/
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
17 mai 2005 à 07:33
Bonjour tout le monde,



J'ai du mal à comprendre pourquoi les réponses de Kenavo et de Delphiprog ne sont pas acceptées ?

J'ai testé pour voir, des fois que , ben ça marche nickel bien entendu...

On peut même faire du Kenavo "amélioré", et là, vraiment, je chipote :

with RadioGroup3 do

Salaire := Items[ItemIndex];



Bonne journée à toutes à tous !



japee
3
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
15 mai 2005 à 06:22
C'est encore toi ? lol



Non, c'est pas trop clair...



Un bout de code serait le bienvenu, pour comprendre où est le problème...
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 mai 2005 à 10:05
Arf, Kenavo, nos réponses se sont croisées.
Néanmoins, la solution que je propose me semble meilleure car :
1/ je suis sur de n'oublier aucune option dans le radiogroup
2/ les valeurs attribuées à la variable Salaire sont en totale correspondance avec ce qui est affiché sur la fiche


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
15 mai 2005 à 19:11
je vous aime :)
lol

Merci
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
15 mai 2005 à 19:23
j'y comprends rien, ça ne fonctionne toujours pas :'(
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 mai 2005 à 23:19
Non, non, Kenavo, y a pas faute. C'est juste une question de style
L'un comme l'autre, c'est préférable à des "if" ou même des "case of".

Alex75000 : pourrais-tu être plus précis, "j'y comprends rien, ça ne fonctionne toujours pas :'(", ben ça ne veut pas dire grand chose.

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
16 mai 2005 à 03:24
il y a rien qui apparaît, la variable est toujours vide avec ces deux façons... :(
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
16 mai 2005 à 15:55
with RadioGroup3 do
Salaire := RadioGroup3.Item[RadioGroup3.ItemIndex];

fonctionne, c'est assez bizarre
0
jihelb Messages postés 49 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 24 mars 2017
16 mai 2005 à 17:10
Normal que ça ne fonctionne pas car dans :
with RadioGroup3 do
Salaire := TRadioButton(Components[ItemIndex]).Caption;
le ItemIndex de RadioGroup3 indexe le Components.
Je pense qu'il suffit de changer la place de la ) with RadioGroup3 do
Salaire : = TRadioButton(Components)[ItemIndex].Caption;

JLB
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
16 mai 2005 à 21:42
jihelb : tu devrais vérifier tes réponses avant de poster...


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
17 mai 2005 à 01:14
entk, c'est très bizzare, ça fonctionne pour 3 variables sur 4
0
cs_alex75000 Messages postés 14 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 27 septembre 2007
17 mai 2005 à 16:38
dans mon programme c'est assez bizarre, ça fonctionne 3 fois sur 4
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
17 mai 2005 à 18:14
Tu l'as bien placé dans l'évènement OnClick du RadioGroup, ton code ?

Ca doit marcher.

Sinon ça signifie que ta variable globale Salaire est initialisée à '' (EmptyStr) ailleurs, juste après ce code.

Si tu ne trouves pas, et que ça ne fait pas 2000 lignes, tu n'as plus qu'à balancer le listing, on essaiera de te dépanner...



Bonne prog'



japee
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
17 mai 2005 à 18:52
Encore un coup du libéralisme chinoisant qui fait passer à rien les salaires inférieurs à 10 000 $



Ken@vo

<hr size="2" width="100%">Code, Code, Codec !




http://www.pourflorenceethussein.org/

[%3C/body ]
0
Rejoignez-nous