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

Pascal Discussion :

Détection de paragraphe dans un fichier texte


Sujet :

Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut Détection de paragraphe dans un fichier texte
    Pouvez-vous m'aider ?
    Pour un programme, j'ai besoin de réaliser l'opération suivante :

    Dès qu'il y a une ligne vide (c'est-à-dire une ligne sans rien d'écrit), alors ecrire n.
    Je précise que n corespond à une variable du programme (un nombre de paragraphes en fait).

    En gros, je veux faire un truc qui, dès qu'il déctecte une ligne vide, m'affiche le nombre de paragraphes, mais là je bug.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 843
    Points
    4 843
    Par défaut
    pour compter le nombre de paragraphe (ou plutôt de lignes vides), tu n'as qu'à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while (not eof(F)) do
    begin
      readln(F,ligne);
      if (ligne = '') then
        n := n+1;
    end;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    que veut dire la commande eof(F) je conanit eof tout seul mais pas avec quelque chose entre parenthese

  4. #4
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 843
    Points
    4 843
    Par défaut
    euh... tu travailles bien sur un fichier texte, non ?
    Si tu travailles en interactif avec l'utilisateur, en lisant ce qu'il écrit dans la console alors c'est pas tout à fait la même chose.

    Pour répondre à ta question, eof(F) teste si on est arrivé à la fin du fichier F.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    ok en fait on appel un fichier texte , annexe sous dos , donc on travail avec la commance eof, donc tu a une idée avec eof?

  6. #6
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    le code que t'as donné Loceka est bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while (not eof(F)) do  {tant que ce n'est pas la fin du fichier}
    begin             
      readln(F,ligne);       {ligne contient une ligne de F}
      if (ligne = '') then    {Si ligne est vide alors on incrémente n, càd le nombre de paragraphes}
        n := n+1;
    end;
    writeln(n);               {on affiche le nombre de paragraphe}

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    a voila la je comprend bien , merci pour ces explications clair de vous 2 , sinon la je bosse ma prog , je revindrai peut etre tt a l heure pour un exo ou j'ai du mal , mais pour le moment j'avance donc sa va
    merci

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    j'ai une question comment declarer F dans les variables?

  9. #9
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312

  10. #10
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 843
    Points
    4 843
    Par défaut
    enfin, le plus important est de "lier" le (pointeur de _) fichier à l'emplacement du fichier sur le disque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Assign(F, 'X:\...\fichier.txt'); // Lie la variable F au fichier
    Reset(F); // ouvre le fichier

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    ok , mais mon souci c'est que j'aimerai savoir le faire sans apeler un fichier dans turbo pascal , mais a partir d entré soi manuel , ou soi d appel de fichier text a partir du DOS.

  12. #12
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Hein ? C'est pas français tout ça...

  13. #13
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    tu veux le passer en argument?

    voir FAQ Pascal, il y a un tuto sur comment recup les arguments d'une ligne de commande ^^

    donc quand tu lanceras ton prog ca donnera par ex :

    exemple ton_fichier.txt

    donc tu peux varier le fichier

    Sinon tu peux aussi demander a l'utilisateur de rentrerle nom du fichier une fois le programme lancé, de vérifier s'il existe bien avec FileExists() de sysutils; et ensuite l'assigner comme ci-dessus

Discussions similaires

  1. Détection des erreurs dans un fichier texte (txt)
    Par M E H D I dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 25/05/2010, 10h14
  2. Réponses: 3
    Dernier message: 07/06/2006, 14h40
  3. Réponses: 3
    Dernier message: 22/02/2004, 20h09
  4. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57
  5. recherche de doublons dans un fichier texte
    Par portu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/10/2003, 14h13

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