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 :

Petite tableau interne à 2 élements


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Points : 27
    Points
    27
    Par défaut Petite tableau interne à 2 élements
    Bonjour, je suis un débutant en C++ Builder alors ma question va très certainement vous paraître triviale!

    Comment créer une structure simple, composée de AnsiString, qui serait en fait un tableau à 2 entrée. Donc une sorte de matrice de strings 2*n, donc la taille pourrait changer dynamiquement en fonction des apports, suppression dedans.

    Faut-il faire un tableau de strings tout bête genre String[][] comme en java, ou utiliser une autre structure comme les Vector ou un Struct ??

    Merci d'avance à tous !

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Salut,

    Alors ds le .h, j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private:
    AnsiString Poupee[2];
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form1->Poupee[0] = "non";
    Form1->Poupee[1] = "non non non non non non";
    alors, si tout va bien en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ShowMessage(Form1->Poupee[0]);
    ShowMessage(Form1->Poupee[1]);
    tu as une réponse a ta question, et ...une poupée qui dit non !!

    Promis, j'arrete de boire...

    En espérant t'aider tout de meme, @ +

  3. #3
    Membre averti Avatar de BigBenQ
    Inscrit en
    Juillet 2005
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 363
    Points : 402
    Points
    402
    Par défaut
    Le problème, c'est que cette solution n'est pas dynamique.

    V'la le lien pour le tutorial sur les vecteurs :
    http://c.developpez.com/faq/cpp/?page=STL#STL_vector

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    Merci.
    Effectivement il me faut impérativement une solution dynamique.
    J'avais déjà fouiné les vecteurs mais c'est assez compliqué à mon goût bien que de l'avis de tous c'est apparemment la solution optimale.
    Sinon il reste une solution très sale qui pourrait consister en l'utilisation d'un composant TValueListEditor invisible qui gère typiquement des liens "clé<->valeur" en chaînes de caractères. D'autant qu'il y a une possibilité de faire une recherche de clé, supprimer des éléments et en ajouter dynamiquement.

    Bref je vais tâter un peu tout ça et je reviens

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    Le verteur je pense que c'est très bien, sinon tu la classe TStringList qui représente une liste de chaînes de caractère. (Voir dans l'aide de C++Builder). Si tu fait un tableau à deux entrés de TStringList, tu as un vecteur de Type (2,n)

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    +1 pour le vecteur, ce n'est pas si compliqué et il faut bien commencer à apprendre un jour

  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Si ton tableau est "rectangulaire" (*), boost.multi_array sera mieux que le vecteur de vecteurs

    (*) comprendre -> si toutes les lignes auront le même nombre d'éléments.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    Hmm et comment utilise-t-on ce boost.multiarray (jamais entendu parler d'ailleurs mais curieux d'apprendre ) ?

    P.S: Sinon j'ai essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringList Ma_liste[4]
    pour avoir un tableau de 4 stringlist eh bien je me suis payé une bonne EAccessViolation

  9. #9
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    C'est tout dans la doc....
    Un coup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boost::multi_array<std::string, 2>
    et on a un tableau (rectangulaires) à 2 dimensions de chaines de caractères. Parfaitement redimensionnable, exception-safe, ...

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    Merci mais comment inclure ce boost multiarray vu que je ne l'ai pas dans mon C++ Builder. Faut-il simplement que je recopie à la main le boost\multiarray.hpp qu'ils proposent ?

  11. #11
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Non. Il faut déployer boost sur ta machine -- je ne pense pas que tu aies quoique ce soit à compiler pour profiter cette sous-bibliothèque de boost.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Points : 27
    Points
    27
    Par défaut
    Je veux bien te croire mais j'ai beau chercher sur le site je ne trouve pas de section de téléchargement ou quoique ce soit qui y ressemble vraiment

  13. #13
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    En haut à droite, colone de gauche du menu il y a "download" et juste en dessous "getting started" ...
    (a la racine du site)

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

Discussions similaires

  1. Tableau de tableau et ses élements
    Par abdou karim diagne dans le forum C
    Réponses: 2
    Dernier message: 21/03/2007, 20h54
  2. Petit tableau de structure
    Par lutin06 dans le forum C
    Réponses: 5
    Dernier message: 06/02/2007, 13h46
  3. OUvrir un petit tableau au survol d'images
    Par Krispy dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 25/08/2005, 18h04

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