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 :

utilsation de TlistBox


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 5
    Points
    5
    Par défaut utilsation de TlistBox
    Bonjour à tous,
    j'essaie d'utiliser un contrôle Tlistbox mais je ne comprend pas la syntaxe à utiliser pour ajouter un item;
    L'aide de delphi me donne:
    procedure AddItem(Item: String; AObject: TObject);
    mais je ne sait pas ou trouver aobject;
    J'essaie sans succés form1.ListBox1.AddItem('toto') mais une erreur se produit à la compilation.
    Il me semble qu'il faut écrire form1.ListBox1.AddItem('toto', AObject)
    mais où trouver ce AObject.
    Merci de me répondre

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 92
    Points : 159
    Points
    159

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 5
    Points
    5
    Par défaut résolu
    merci jeromlef2,
    c'est résolu acec listBox.Items.add
    au lieu de listBox.Additem

  4. #4
    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
    Le AObject est un objet a toi que tu souhaiterai associer avec cette ligne du ListBox, mais tu n'es pas obligé de le mettre. Dans ce cas, tu as juste à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form1.ListBox1.AddItem('toto', nil);
    Mais ca peut etre très pratique pour associer directement un objet avec ta listbox. Par exemple, une liste de form à afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    listbox1.addItem('form 1', Form1);
    listbox1.addItem('form 5', Form5);
    listbox1.addItem('form 2', Form2);
     
    //et sur un btnClick :
    if listbox1.ItemIndex <> -1 then
      TForm(listbox1.items.Object[listbox1.ItemIndex]).ShowModal;

  5. #5
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 556
    Points : 3 929
    Points
    3 929
    Par défaut Petit complément
    [quote]
    Citation Envoyé par bbchess Voir le message
    J'essaie sans succés form1.ListBox1.AddItem('toto') mais une erreur se produit à la compilation
    La méthode AddItem est publique, la seule raison qui explique ton problème initial est que tu n'a pas déclaré l'unité StdCtrls dans la clause uses de l'unité depuis laquelle tu fais l'appel form1.ListBox1.AddItem('toto'). Par contre, l'unité Classes doit y figurer car l'appel listBox.Items.add fonctionne.

    @+

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  6. #6
    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
    Citation Envoyé par e-ric Voir le message

    La méthode AddItem est publique, la seule raison qui explique ton problème initial est que tu n'a pas déclaré l'unité StdCtrls dans la clause uses de l'unité depuis laquelle tu fais l'appel form1.ListBox1.AddItem('toto'). Par contre, l'unité Classes doit y figurer car l'appel listBox.Items.add fonctionne.

    @+
    En fait non,
    listBox : TListBox -> StdCtrls
    listBox.Items : TStrings -> Classes

    quand tu accède à une proprieté d'un objet, tu n'es pas obligé d'avoir l'unité contenant le type de cette proprieté dans tes uses. Dans ce cas, il faut juste StdCtrls car il ne stock qu'une TListBox. On peut même imaginer qu'il pourrait être dans une unité "unit2" qui a comme seul uses "unit1" (qui contient la form1), et faire "form1.listBox1.Items.Add('toto');". Certes c'est un peu crade, mais techniquement ca fonctionne.

    Le problème est juste que AddItem n'a pas de valeur par défaut pour le AObject, et qu'il faut explicitement le préciser ou utiliser .Items.Add

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Points : 5
    Points
    5
    Par défaut merci
    merci à tous pour cette aide rapide

  8. #8
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 556
    Points : 3 929
    Points
    3 929
    Par défaut
    Effectivement, je viens d'aller vérifier.

    Pour ma défense, j'avais pas Delphi sous la patte et ça fait longtemps que je n'ai pas fait ce genre de code.

    Je ferai acte de contrition: pas de bière,ce soir !!

    @+

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

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

Discussions similaires

  1. Fichiers INI et TlistBox
    Par Philippe01 dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2003, 15h36
  2. [TListBox] Selection par défaut
    Par Nuts07 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 12/05/2003, 10h00
  3. TListBox : Chaines associées à un id caché
    Par numberwan dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/04/2003, 10h27
  4. PopupMenu sur item de TListBox
    Par nmathon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/03/2003, 17h28
  5. [TEdit][TListBox]Recherche instantanée
    Par SamDaKap dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 21h31

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