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

Visual C++ Discussion :

Récupérer des données fichiers *.csv


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut Récupérer des données fichiers *.csv
    Salut,

    J'ai rempli un fichier *.csv avec des valeurs séparés par des ";" pour effectuer le changement de colonnes, et par des "\n" pour le retour à la lignes...

    Sous Borland, gràce à la Faq, voilà ce que j'avais pu faire pour récupérer les valeurs et les ranger dans 3 vectors :

    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
    int i, colonne,toto;
    int j;
    int k;
    char b;
    int X,Y,Z;
    std::vector<int> poshoriz;               
    std::vector<int> posvert;              
    std::vector<int> posprof;              
    AnsiString donneeCSV; //donneeCSV = une ligne avec les 3 valeurs
    TStringList *FichierCSV = new TStringList();
    FichierCSV->LoadFromFile(FilePath);
    for(i=0;i<FichierCSV->Count;i++)
    {
     donneeCSV=FichierCSV->Strings[i];
     
      X = (StrToInt(donneeCSV.SubString(1,donneeCSV.Pos(";")-1)));//récupère "Xi"
      donneeCSV.Delete(1,donneeCSV.Pos(";"));          //supprime "xi;"
      Y = ((StrToInt(donneeCSV.SubString(1,donneeCSV.Pos(";")-1))));//récupère "Yi"
      donneeCSV.Delete(1,donneeCSV.Pos(";"));
      Z = StrToInt(donneeCSV);//récupère "Zi"
      toto = Z;
      poshoriz.push_back(X);
      posvert.push_back(Y);
      posprof.push_back(Z);
     }
    }
    Et je n'arrive pas à trouver un exemple similaire pour Visual C++...

    Est-ce que quelqu'un connaîtrai un lien vers un exemple ?

    Merci...

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    dans la faq VC, tu as de quoi gérer les fichiers, il te reste plus qu'à adapter le code

  3. #3
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Je suis en train de faire la conversion mais la fonction substring apparaît dans l'aide de VC mais grisé, a t-elle un équivalent afin de détecter le ";" ?

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    pour extraire une chaine c'est Mid qu'il faut regarder dans CString ...

  5. #5
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // example for CString::Mid
    CString s( _T("abcdef") );
    ASSERT( s.Mid( 2, 3 ) == _T("cde") );
    Voilà un exemple de l'aide...

    Mais si mon ";" n'est pas toujours à la même place, ça ne marche pas ceci non ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    c'est l'équivalent de Pos que tu veux alors ...
    c'est Find

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    l'équivalent est Mid

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/04/2007, 17h22
  2. [pl/sql] Récupérer des données dans fichier
    Par claralavraie dans le forum Oracle
    Réponses: 22
    Dernier message: 13/07/2006, 16h49
  3. récupérer des données dans un fichier
    Par pymouse dans le forum Langage
    Réponses: 7
    Dernier message: 19/06/2006, 17h43
  4. Réponses: 2
    Dernier message: 16/01/2006, 19h34
  5. récupérer des données saisies dans un fichier
    Par natie_49 dans le forum C++
    Réponses: 6
    Dernier message: 24/11/2005, 11h29

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