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 :

Afficher dans un composant 'Memo' à partir d'1 fichier txt


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 31
    Points : 11
    Points
    11
    Par défaut Afficher dans un composant 'Memo' à partir d'1 fichier txt
    Bonjour ;
    Est-il possible d'afficher dans un composant "Memo" un paragraphe à partir d'un fichier texte (bloc note) présent sur disque dur :

    Je m'explique:

    j'ai à ma disposition un fichier texte qui contient des informations sur plusieurs satellites. chaque satellite est détaillé sur 3 lignes.
    Dans mon application, il y a une ListBox qui contient tous ces satellites, et je voudrais que lorsque l'utilisateur selectionne un de ces satellites, les informations le concernant (3 lignes) s'affichent dans le Memo( ces informations étant présentes dans le fichier texte)

    PS: si ca ne marche pas avec le composant Memo, ya t'il un autre composant avec lequel ca marche :

    Merci beaucoup d'avance.

  2. #2
    Membre régulier Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Points : 111
    Points
    111
    Par défaut TMemo
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1->Lines->LoadFromFile("C:\\Fichier.txt");
    A bientôt

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Merci JagBoys, mais je ne veux pas afficher tout le fichier texte dans le Memo, je voudrais afficher une certaine partie qui corresponde a la selection faite dans la listBox
    je ne pense pas que ca soit possible

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Quelle est la structure exacte de ton fichier texte ?

    Car si ta structure est identique pour chaque satellite, il te suffirait de charger ton fichier texte dans une TStringList. Chaque chaine correspondera à une ligne de ton fichier. Ensuite il te suffira d'accéder aux chaines qui t'intéresse.

    Si j'ai bien compris, chaque informations concernant un satellite est sur 3 lignes.

    Admettons que la structure de ton fichier soit comme suit

    satellite 1 ligne1
    satellite 1 ligne 2
    satellite 1 ligne 3

    satellite 2 ligne1
    satellite 2 ligne 2
    satellite 2 ligne 3

    satellite 3 ligne1
    satellite 3 ligne 2
    satellite 3 ligne 3

    .......

    tu charge ton fichier texte dans une TStringList comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            // Liste de chaine
            TStringList *List = new TStringList;
     
            // On récupère le contenu du fichier
            List->LoadFromFile(fichier);
    Où fichier est le chemin d'accès à ton fichier texte.

    Ensuite, il te suffit grâce à un indice de chaine d'accéder aux lignes qui t'intéresse. Ici on va dire que tu veux accéder au lignes du satellite 2

    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
     
           // Indice de chaine
           int i = 0;
     
          // On se positionne sur la première chaine du satellite 2
          // On saute 3 chaines pour le satellite 1 et encore une chaine
          // pour le saut de ligne
          i += 4;
     
          // Ensuite il te suffit d'ajouter les 3 lignes concernant ton satellite
         dans le memo
         Memo->Clear();
     
         for(int j = 0; j < 3; j++)
         {
             Memo->Lines->Add(List->Strings[i];
     
             // On incrémente l'indice de ligne
             i++;
         }
    Après à toi de jouer avec les valeurs de ta liste box pour savoir le nombre de ligne à sauter pour se positionner sur le bon satellite.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Kurul1 tu me sauves la vie Mille fois merci de t'avoir donné la peine
    C'est exactement ce que je voulais

    Au plaisir

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

Discussions similaires

  1. Affichage d'un fichier dans un composant Memo
    Par nassimanocus dans le forum Débuter
    Réponses: 2
    Dernier message: 01/04/2013, 15h55
  2. Réponses: 15
    Dernier message: 07/07/2010, 16h20
  3. Remplir une table dans la BD a partir d'1 fichier .txt
    Par aziz_mtl dans le forum PL/SQL
    Réponses: 4
    Dernier message: 04/04/2009, 00h34
  4. afficher dans un jscrollpane le contenu d'un fichier .txt
    Par christianf dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 09/10/2007, 08h42
  5. Réponses: 7
    Dernier message: 28/08/2006, 10h50

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