Stocker le choix d'un RadioGroup en Delphi [Résolu]

cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 14 mai 2005 à 22:54 - Dernière réponse : cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention
- 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 :)
Afficher la suite 

Votre réponse

18 réponses

Meilleure réponse
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 15 mai 2005 à 08:03
3
Merci
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???

Merci cs_alex75000 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_alex75000
Meilleure réponse
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 15 mai 2005 à 09:55
3
Merci
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.
<

Merci cs_Delphiprog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_Delphiprog
Meilleure réponse
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 15 mai 2005 à 10:00
3
Merci
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/

Merci cs_Kenavo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_Kenavo
Meilleure réponse
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 15 mai 2005 à 11:07
3
Merci
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/

Merci cs_Kenavo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_Kenavo
Meilleure réponse
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 17 mai 2005 à 07:33
3
Merci
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

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de japee
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 15 mai 2005 à 06:22
0
Merci
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...
Commenter la réponse de japee
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 15 mai 2005 à 10:05
0
Merci
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.
<
Commenter la réponse de cs_Delphiprog
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 15 mai 2005 à 19:11
0
Merci
je vous aime :)
lol

Merci
Commenter la réponse de cs_alex75000
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 15 mai 2005 à 19:23
0
Merci
j'y comprends rien, ça ne fonctionne toujours pas :'(
Commenter la réponse de cs_alex75000
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 15 mai 2005 à 23:19
0
Merci
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.
<
Commenter la réponse de cs_Delphiprog
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 16 mai 2005 à 03:24
0
Merci
il y a rien qui apparaît, la variable est toujours vide avec ces deux façons... :(
Commenter la réponse de cs_alex75000
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 16 mai 2005 à 15:55
0
Merci
with RadioGroup3 do
Salaire := RadioGroup3.Item[RadioGroup3.ItemIndex];

fonctionne, c'est assez bizarre
Commenter la réponse de cs_alex75000
jihelb 52 Messages postés lundi 27 janvier 2003Date d'inscription 24 mars 2017 Dernière intervention - 16 mai 2005 à 17:10
0
Merci
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
Commenter la réponse de jihelb
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 16 mai 2005 à 21:42
0
Merci
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.
<
Commenter la réponse de cs_Delphiprog
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 17 mai 2005 à 01:14
0
Merci
entk, c'est très bizzare, ça fonctionne pour 3 variables sur 4
Commenter la réponse de cs_alex75000
cs_alex75000 14 Messages postés lundi 9 mai 2005Date d'inscription 27 septembre 2007 Dernière intervention - 17 mai 2005 à 16:38
0
Merci
dans mon programme c'est assez bizarre, ça fonctionne 3 fois sur 4
Commenter la réponse de cs_alex75000
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 17 mai 2005 à 18:14
0
Merci
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
Commenter la réponse de japee
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 17 mai 2005 à 18:52
0
Merci
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 ]
Commenter la réponse de cs_Kenavo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

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.