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

C++Builder Discussion :

Une classe pour un tableau à 2dimensions de AnsiString ?


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut Une classe pour un tableau à 2dimensions de AnsiString ?
    Bonjour,

    Je ne trouve pas dans la "doc" BCB2007 s'il existerait une classe pour déclarer un tableau à deux dimensions d'AnsiString avec les outils de recherche, d'ajout, de suppression déjà implémenter ?

    Je souhaiterai stocker l'id d'une table, et plusieurs champs de type AnsiString dans un tableau, dont voici un exemple d'une ligne de ce tableau : [ id1 | nom1 | prenom1 ].

    Merci.

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Pourquoi tu l'utiliserais pas une liste

    tu crée un objet contenant id Nom et Prénom et tu stocke cet objet dans une liste. ainsi chaque objet sera une ligne de ton tableau

    Exemple ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    class TLigne
    {
        public :
          int Id;
          AnsiString Nom;
          AnsiString Prenom;
    };
    Ensuite tu ajoute une liste à ta forme (TList)

    Il ne te reste plus qu'a récupérer les informations concernant tes lignes et pour chaque de créer ton objet, de renseigner ces champs et de l'ajouter ensuite à la liste.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Est-ce que tu aurais une ligne de code à me montrer svp ? Je ne veux pas abusé mais avec ma version de BCB2007, la documentation est vraiment limité et j'ai toujours des erreurs.

    Merci beaucoup. En fait, contrètement je veux récupèrer des éléments dans ma bd et l'associé à une ListBox et effectuer une maj de ma table. Pour cela j'ai besoin du nom de chaque ligne pour afficher dans le TListBox, et l'idendifiant unique pour mettre à jour ma relation dans les tables. S'il existe une manière plus simple, je suis preneur.

    Merci d'avance de vos conseils.

  4. #4
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Ce que tu pourrais faire, c'est juste avoir une Liste pour tes identifiants

    tu la déclare dans le .h de ta form dans public

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       public :
     
          TList *ListeId;
    tu n'oublie pas de créer ta liste dans le constructeur de ta form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       ListeId = new TList();
    Pour mémoriser tes identifiants dans la liste, je te conseil de te créer une petite classe qui va bien pour les stocker, car dans une TList, tu stocke une liste d'objets, tu peux pas stocker une liste d'entier.
    tu place ce code au début de ton .h avant la classe de ta form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class TInt
    {
       int Valeur;
    }
    Je vais supposer que tu as récupérer les valeurs Id Nom et Prenom dans ta table. tu fais cela pour chaque ligne que tu veux ajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       // Tu ajoute ton item dans ta ListBox
       ListBox->Items->Add(Nom + " " + Prenom);
     
       // Tu ajoute l'identifiant dans la liste des items
       TInt *identifiant = new TInt();
       identifiant->Valeur = Id;
       ListeId->Add(identifiant);
    Ansi, pour récupérer l'identifiant correspondant à la ligne sélectionnée dans ton ListBox, tu fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Tint *identifiant = (Tint *)(ListeId->Items[ListBox->ItemIndex]);
    Comme tu réalise en même temps l'ajout de l'item dans la ListBox et l'ajout de l'identifiant dans la liste des id, tu accède au deux éléments par le même index.

    J'espère avoir été clair, n'hésite pas à demander si tu comprends pas quelque chose.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Merci beaucoup, je culpabilisais avant de te demander un morceau de code, mais heureusement que je l'ai fait. Après coup, ça parrait simple, mais j'aurai mis du temps avant de coder ses listes.

    Merci

  6. #6
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    De rien, le forum est fait pour ca.

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

Discussions similaires

  1. Annuler l'effet d'une Class pour un seul tableau
    Par skins dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/05/2012, 17h56
  2. une class pour WriteExcel
    Par dam-s dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2006, 15h24
  3. Y a t'il une classe pour transactions FTP
    Par Devil666 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 04/07/2005, 12h27
  4. thread dédié à une classe pour lui "donner vie"
    Par Dje14 dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 02/06/2005, 16h46
  5. Réponses: 7
    Dernier message: 08/01/2005, 13h24

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