IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Radiogroup et values


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut Radiogroup et values
    Bonsoir,

    Je souhaite par appui sur un bouton remettre toutes les radiobutton d'un radiogroup à false.

    Seulelement je n'arrive pas à trouver cette var dans la liste proposée.

    Sur l'aide je vois SetRadioItems, mais cela ne marche pas, car je n'ai pas ce genre de propriété (radioItem selon F1 Delphi)

    merci.

  2. #2
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Salut essaye avec ce code ça marche avec tous les composants

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var i : integer;
    begin
    for i := 0 to ComponentCount-1 do
    begin
    if (Components[i] is TRadioButton) then
    (Components[i] as TRadioButton).checked:=false;
    end;
    end;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    Désolé Zaki, ton code ne marche pas. Mes radio sont dans des radiogroup. Ils restent à true avec ton code.

    J'ai regardé l'aide delphi et il est stipulé l'instruction SetRadioItems.

    Merci quand même.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Ce code sans doute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.Button2Click(Sender: TObject);
    var
     i:integer;
    begin
      for i:=0 to RadioGroup1.Items.Count-1 do
      begin
        RadioGroup1.Buttons[i].Checked:=false;
      end;
    end;
    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    Et encore merci ero! Bon à savoir pour les débutants comme moi, si vous donnez une valeur fixe à la fin de boucle, alors sachez que les radio d'un radiogroup commencent à 0. Donc si vous avez 5 radio la veleur de fin de boucle devra être 4.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    En effet cela est dû au traitement des tableaux (ou des listes qui se base sur des tableaux) le premier index est 0. Néanmoins les objets (ou SetLength pour obtenir la taille du tableau) renvoient le nombre d'élément total (5 par exemple) or si on fait une boucle de 0 à 5 on itère 6 fois donc une fois de trop. C'est pourquoi il faut toujours décrémenter de 1 son total d'élément.

    Il existe cependant des exceptions :

    - les chaînes de caractères : leur premier index commence à 1. C'est pourquoi par exemple pour copier à partir du premier caractère on doit passer index = 1

    - les tableaux statiques : en règle général on déclare ces derniers comme tab: array[0..n] of cette déclaration suit les règles précédentes pas de problèmes. Néanmoins rien n'empêche d'écrire ceci tab: array[-1..2] of dans ce cas le premier index n'est pas 0 mais -1 puis 0 puis 1 puis 2. L'utilisation de tableaux en base différente de 0 peut être utile dans certains cas mais est à déconseiller dans la plupart des cas pour rester iso à la norme standard algorithmique qui fait commencer les indices de tableaux à 0.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  7. #7
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    et pourquoi pas un tout simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RadioGroup1.ItemIndex := -1
    ?

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par guillemouze Voir le message
    et pourquoi pas un tout simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RadioGroup1.ItemIndex := -1
    ?
    Je n'y avais pas pensé !
    Maintenant que tu le dis, ça me revient ... et c'est surtout plus logique.
    On peut également faire comme ceci (peut être plus clair pour la maintenance du code ...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      RadioGroup1.Buttons[RadioGroup1.ItemIndex].Checked:=false;
    end;
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul du plu court chemin entre 2 sommets d'un graphe valué
    Par atlasm dans le forum Algorithmes et structures de données
    Réponses: 25
    Dernier message: 07/08/2005, 17h06
  2. Index et Unique Value
    Par koukise dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/06/2004, 18h32
  3. [MFC]Value Controle dans un comboBox
    Par jul54 dans le forum MFC
    Réponses: 6
    Dernier message: 10/02/2004, 09h57
  4. Réponses: 4
    Dernier message: 18/11/2003, 16h08
  5. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo