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

Turbo Pascal Discussion :

Lecture d'un fichier


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut Lecture d'un fichier
    Bonjour,

    N'ayant pas trouvé mon bonheur sur le net (et j'en ai fouillé, des pages plus absconses les unes que les autres), je m'adresse ici, ayant plusieurs soucis.

    Voilà pour le premier :
    J'ai un fichier .csv, dans lequel sont stockées des données numériques séparées par des symboles de tabulations. J'ai donc supposé que c'était un fichier "of real". Jusque-là, tout va bien.

    boos2005.csv ressemble à ceci :
    2005 1 1 2.2 1.1
    2005 1 2 1.5 1.0
    2005 1 3 2.8 0.8
    etc...

    Le but est de compter le nombre de lignes de ce fichier.
    Après plusieurs heures de potassage sur la lecture dans un fichier (je ne suis toujours pas sûr d'avoir compris la technique), voici mon code :

    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
    var
      annee05:FILE of real;
      a2005:real;
      n5:integer;
     
    begin
      n5:=0;
      assign(annee05,'boos2005.csv');
      reset(annee05);
      while not eof(annee05) do begin
        read(annee05,a2005);
        if eoln then inc(n5);
      end;
      close(annee05);
    end.
    Pouvez-vous me dire si le code est correct (j'en doute fortement), et si oui, pourquoi il me dit, à l'exécution, qu'il ne trouve pas le fichier boos2005.csv, alors que celui-ci est dans le même dossier que le .PAS ?

    (Je sais que mes variables ne sont pas très claires, mais j'arrangerai ça une fois que ça marchera)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Ta première hypothèse est fausse ! Ce n'est pas un fichier de réels, c'est un fichier texte qui contient des nombres décimaux. Autrement dit, pour l'ordinateur, ce n'est qu'une suite de caractères ASCII qui pour lui ne veulent rien dire, mais pour toi représente des nombres décimaux.

    Donc le type de fichier à utiliser dans ton cas, c'est le type text. Tu peux regarder la documentation de ton compilateur pour avoir de l'aide. Sinon, pour compter le nombre de ligne, on utilise dans le cas de fichier texte la commande readln plutot que read. Readln lit une ligne entière (c'est-à-dire jusqu'à un caractère "retour chariot" (CR, code ASCII 13), et/ou "ligne supplémentaire" (LF, code 10)). Read lit caractère par caractère, il faut donc gérer soi-même les caractères de retours à la ligne...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Ok, donc ça partait mal...
    J'essayerai ce soir (le temps me manque, là tout de suite).

    Par contre, si mes chiffres sont considérés comme du texte, pourrai-je quand même faire des calculs dessus ?

    C'est la question suivante

  4. #4
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Citation Envoyé par ZodiacLoyal Voir le message
    Ok, donc ça partait mal...
    J'essayerai ce soir (le temps me manque, là tout de suite).

    Par contre, si mes chiffres sont considérés comme du texte, pourrai-je quand même faire des calculs dessus ?

    C'est la question suivante
    Tu peux lire toute une ligne pour ensuite récupérer les infos que tu veux avant de procéder aux calculs.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    Voilà, j'ai corrigé, en mettant

    Néanmoins, il continue à me dire "Error2 : File not found." alors que boos2005.csv est dans le même répertoire que le .PAS
    J'ai essayé de les changer de dossier pour les mettre dans un dossier avec une adresse moins longue (peut-être qu'il est juste feignant, on peut toujours rêver =/), mais rien n'y fait.
    J'ai aussi essayé de taper l'adresse complète du fichier dans le programme, mais ne pouvant taper que des / et pas des \, j'ignore si le message d'erreur inédit qu'il m'affiche dans la Console est dû à ça ou à autre chose. "Error Runtime 002"'.

    Autant au début, je nageais dans le brouillard, je savais pas bien ce que je faisais, autant là, je comprends vraiment pas pourquoi il le trouve pas, ce fichier.

    Ah, et j'ai (enfin) trouvé un bon site explicatif qui semble clair et avec exemples, donc une fois que ce problème sera résolu, je devrais réussir à embrayer sur la suite sans souci

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Le caractère \ s'obtient avec la combinaison Alt + 92

    Le chemin du fichier doit être un chemin complet.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 07/07/2004, 16h30
  2. Réponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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