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

Composants VCL Delphi Discussion :

Comment contrer la sélection hors indice d'un ListBox ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut Comment contrer la sélection hors indice d'un ListBox ?
    Bonjour

    J'aimerai dès qu'on sélectionne après le dernier item d'un listbox s'il n'y a rien d'éviter de voir mon programme planter (sélection hors indice) !

    merci

    de votre inspiration

  2. #2
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 258
    Points : 156
    Points
    156
    Par défaut
    Il suffit de catcher l'exception...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut ok
    Avec un try

    except mais il n'y a pas une autre solution ?

    sans gérer les exceptions ?

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 910
    Points : 6 032
    Points
    6 032
    Par défaut
    Comment peut-on sélectionner un item qui n'existe pas ?

    Normalement, ItemIndex < Items.Count
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut suite
    Je vois bien qu'il n'ya pas d'items après mon dernier item
    dans mon listbox mais j'aimerai anticiper
    si l'utilisateur clique par inadvertance dans la zone blanche de la listbox où rien ne figure et éviter ainsi un plantage !

  6. #6
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 258
    Points : 156
    Points
    156
    Par défaut
    C'est à cela que sert les try ... Except.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut ok
    ok j'ai pas le choix

    je pensais pouvoir y échapper

    merci à vous deux

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut Re: ok
    Citation Envoyé par bertrand_declerck
    ok j'ai pas le choix

    je pensais pouvoir y échapper

    merci à vous deux
    Bah si tu as le choix
    Quel code est exécuté quand l'utilisateur clique dans le listebox

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    statusbar1.Panels[1].text := ListBox1.Items[ListBox1.itemindex];
    if statusbar1.Panels[1].Text <> '' then
    begin
    form1.Listingdesimpays1.Enabled := true;
    end;
    Voilà le code

    dès qu'on a choisit un élément de ma listbox, un bouton devient accessible !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Si tu cliques sur une zone vide, itemindex vaut -1, donc dans ce cas il ne faut pas acceder aux items, c'est tout.

  11. #11
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 910
    Points : 6 032
    Points
    6 032
    Par défaut
    Citation Envoyé par cpdump
    Si tu cliques sur une zone vide, itemindex vaut -1, donc dans ce cas il ne faut pas acceder aux items, c'est tout.

    itemindex est le rang-1 de l'item sélectionné.
    Si itemindex vaut -1, c'est qu'aucun n'est sélectionné,
    Mais
    sauf à commencer par désélectionner tout item (par ex dans un MouseOver), si on clique sur 1 item puis dans la zone blanche, l'item reste sélectionné.

    Ceci dit, je continue de m'étonner qu'un clic sur la zone blanche fait planter le prog.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

Discussions similaires

  1. [C#]Comment forcer la sélection d'un noeud avec bouton droit
    Par irnbru dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/11/2005, 19h39
  2. [StringGrid] Comment copier la sélection ?
    Par lol_adele dans le forum Composants VCL
    Réponses: 3
    Dernier message: 22/09/2005, 10h28
  3. [TShellListView] Comment récupérer la sélection ?
    Par Mimi Bulles dans le forum Composants VCL
    Réponses: 1
    Dernier message: 23/06/2005, 21h21
  4. [TRichEdit] Comment désactiver la sélection ?
    Par firejocker dans le forum Composants VCL
    Réponses: 12
    Dernier message: 15/06/2005, 13h50
  5. Comment contrer la "segmentation fault" ?
    Par guillaume_pfr dans le forum C
    Réponses: 15
    Dernier message: 08/08/2003, 13h43

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