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++ Discussion :

Manipulation de TStingList


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par défaut Manipulation de TStingList
    Bonjour,

    Je suis entrain de créer un programme et pour cela j'ai besoin de manipuler la commande TStringList. Là j'essaie juste un petit programme pour tester les TStrignList mais j'y arrive même pas car le compilateur ne reconnait pas TStringList :

    Voila mon code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "stdafx.h"
    #include <String>
     
    int main(int argc, char* argv[])
    {
    	TStringList* Fichier = new TStringList();
    	return 0;
    }
    Ca me dit que Tstring n'est pas un identifier reconnu, et j'ai à peu près 100erreurs disant qu'il manque une ';' à la fin.

    Quelqu'un peut-il m'aider?

    Merci

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    bonjour,
    C'est du borland cette affaire non ? (cpp builder ou successeur).
    Il manquerait pas l include qui va bien ?

  3. #3
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Bonjour,

    TStringList n'est pas un objet standard, (si je ne m'abuse !!!).
    Il faut donc lui spécifier le fichier d'entête dans lequel il est définit du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <TStringList.h>
    Bref il faut rechercher le fichier d'entête contenant la classe TStringList est l'indiquer dans le source contenant le main()

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par défaut
    je travaille sur visual C++ , (je ne sais pas ce qu'est du 'borland'...)

    Justement je ne sais pas quelle bibliothèque appeler...

  5. #5
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    re,
    borland c'est (ou c'etait) une boite d'info concurrente de MS su visual et les lib cpp entre autre.
    Par ocntre TStringList c'est effectivement sous c++ builder (l ide de borland), donc a moins de pouvoir integrer les lib de c++ builder l utilisation de cet objet me parait assez compliqué (voir impossible) sous visual.

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Si tu travaille avec les MFC de Microsoft, il existe la classe "CStringList"
    mais à mon avis, peu de chance d'avoir de classe TStringList, où alors, c'est une classe propriétaire, mais en aucun cas du standard...

    [EDIT]
    Si tu n'utilises pas les MFC (Visual c++ express par exemple) tu peux te tourner vers la STL est utiliser par exemple le template std::vector et std::string et faire quelque chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include <string>
    #include <vector>
     
    [...]
     
    std::vector<std::string> MaListdeChainedeCaractere;
    [/EDIT]

  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par défaut
    alors le truc c'est que je peux pas manipuler TStringList sous visual C++ ??

  8. #8
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par cre31400 Voir le message
    alors le truc c'est que je peux pas manipuler TStringList sous visual C++ ??
    Ben directement non !!!
    Pourquoi veux tu à tout pris utiliser ce type d'objet ? tu as une contrainte particulière ?

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par défaut
    J'ai un programme à faire, et avant d'avoir accès au logiciel j'ai travaillé sur papier, et me suis fait aidé sur les forums pour arriver à mes fins. Une solution à mes problèmes (pas si solution que cela apparement) était d'utiliser les TStringList.

    Voilà mon problème alors:
    J'ai un fichier .csv contenant quelques 1500lignes et je dois en extraire que certaines, il se structure de cette forme :

    environ 1000lignes qui me servent à rien
    [espace][espace]<name>name1</name>
    quelques lignes
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    quelques lignes
    [espace][espace]<name>name2</name>
    quelques lignes
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    quelques lignes
    etc...

    Je voudrais extraire ces lignes, de cette façon :
    [espace][espace]<name>name1</name>
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    [espace][espace]<name>name2</name>
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    [espace][espace]<name>name3</name>
    [espace][espace]<coordinate>longitude3,lattitude3</coordinate>

    Et on m'a proposé d'utiliser les TStringist, c'est ma faute je n'avais pas précisé que je travaillais sous Visual C++ ...
    Aurais-tu une idée alors?? il me faut en gros extraire des lignes contenant <name> et <coordinate> ...

    Merciiii

  10. #10
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Veux tu seulement extraire les lignes, où récupérer le contenu de ces lignes, et ainsi stocker les informations : name, longitude, latitude ?

    En vu du fichier, ma première idée serait d'utiliser un parser XML (plusieurs bibliothèques existantes intègrent les outils pour manipuler l'XML), puis de stocker les informations name, longitude, latitude dans une liste.
    Voici un petit exemple de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    class CMesDatas
    {
    private:
      std::string m_strName;
      double m_dLongitude;
      double m_dLatitude;
     
    public:
      CMesDatas(std::string name = "", double longitude = 0.0, double latitude = 0.0)
     
      // Les méthodes set et get, les opérateurs de recopie, le constructeur de recopie ...
     
     [...]
    };
     
    class MaClassePourRecupereretManipulerMesDonnees
    {
    private:
      std::vector<CMesDatas> m_mesdatas;
     
    public:
      // Les méthodes de bases
     
      int MaMethodePourLesDonneesDansUnFichierXML(std::string LeNomDeMonFichier);
    };
    La méthode MaMethodePourLesDonneesDansUnFichierXML va lire le fichier (à l'aide du parser XML) et pour chaque bloc {name, longitude, latitude} va ajouter à la liste m_mesdatas la nouvelle entrée.
    Après, tu pourras manipuler comme tu veux ces données, faire des traitements, reconstruire un fichier...

    Mais tout dépend de ce que tu veux faire.

    Remarque, il est possible de ne pas utiliser de bibliothèque pour lire le fichier XML, mais dans ce cas, ça se complique et tu devras faire toi même avec les objets de base de lecture de fichier la lecture de ce dernier et extraire les infos dont tu as besoin.

  11. #11
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Par défaut
    Je veux en effet garder les infos pour faire une liste avec tous les noms et les coordonnées associées. Cependant je ne connais pas le xml, ca va poser un problème non ? je vais reposter ce sujet sur le forum.

  12. #12
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par cre31400 Voir le message
    Je veux en effet garder les infos pour faire une liste avec tous les noms et les coordonnées associées. Cependant je ne connais pas le xml, ca va poser un problème non ? je vais reposter ce sujet sur le forum.
    l'XML, c'est seulement un format de type balise, pour te donner un exemple plus connu, le HTML est une sous famille du XML, Wikipédia devrait sans problème de donner des infos là dessus.

    [EDIT]
    Mais tout dépend de ce que tu veux faire. Si le fichier n'est pas trop complexe, et que tu es dans une phase d'apprentissage, tu peux t'entrainer à faire un lecteur de ton fichier.
    Tu lis le fichier ligne par ligne, tu détectes les balises <"toto"> et en fonction de ce que tu as trouvé, tu remplis tes objets.
    Rien de trop compliqué, il faut juste penser aux exceptions

Discussions similaires

  1. Manipulation des handle contexte
    Par rockbiker dans le forum DirectX
    Réponses: 1
    Dernier message: 09/05/2003, 18h51
  2. Manipuler JAVA et SSL ?
    Par jah dans le forum Sécurité
    Réponses: 6
    Dernier message: 05/05/2003, 00h30
  3. [VB6]manipuler les semaines en VB ?
    Par kamadji dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 02/05/2003, 12h33
  4. Réponses: 2
    Dernier message: 18/01/2003, 17h06
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43

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