Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3106 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  Lire dans un fichier texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire dans un fichier texte

n°909459
teddy_63
Posté le 28-11-2004 à 01:26:19  profilanswer
 

Bonjour a tous
Je recherche la maniere de lire mon fichier texte pour en récupérer les données et inscrire les valeurs dans un autre tableau chargé en mémoire.
 
Mon fichier texte se présente sous la forme d une matrice contenant des informations de type Float .
 
J'ai bien pensé récupérer ses informations en utilisant un Unbounded_String mais étant novice en la matière je ne m en sors pas ..
 
Je vous laisse le début du code que j ai codé en espérant que vous saurez me venir en aide .. Merci d avance ...
 
with text_io,Ada.Strings.Unbounded;
 use text_io,Ada.Strings.Unbounded;
 
 
 
 procedure trajet is
   
 type t_distance is digits 5 range 0.01..200.0;
 
 type t_matrice is array (positive range <>, positive range <> ) of unbounded_string;
 
 type t_liste_ville is array (positive range <> ) of unbounded_string;
 
 
 type t_graphe ( Taille : positive) is
  record
   Matrice : t_matrice ( 1..Taille, 1..Taille);
   liste : t_liste_ville (1..Taille);
  end record;
 
 procedure lire_texte (un_graphe : out t_graphe) is
  fichier : file_type;
 
   
 
 begin
  open(fichier,out_file,"e:\test_ada\plus_court.txt" );
 
    for I in 1..Un_graphe.Taille loop
            for J in 1..Un_graphe.Taille loop
            get(Fichier,t_distance'value(un_graphe.matrice(I,J))); -- c'est ici que ca semble coincer !!
             end loop;  
          end loop;
 
       Close(Fichier);
 end lire_texte;
 
 procedure Afficher (Un_graphe : in T_graphe) is
   
     package p_distance is new Float_io (t_distance);
     use p_distance;
     
 begin
 
     for I in 1..Un_graphe.Taille loop
         for J in 1..Un_graphe.Taille loop
         put(t_distance'image(Un_graphe.Matrice(I,J)));
         end loop;
         New_Line;
     end loop;
     
  end afficher;
 
 
 distancier : t_graphe(467);  
 
 
 begin
 
  lire_texte(distancier);
 
  Afficher(distancier);
 
 
 end trajet;

mood
Publicité
Posté le 28-11-2004 à 01:26:19  profilanswer
 

n°993695
babar9160
Fan d'Ada et de Perl...
Posté le 25-02-2005 à 16:47:23  profilanswer
 

teddy_63 a écrit :

Bonjour a tous
 
 procedure lire_texte (un_graphe : out t_graphe) is
  fichier : file_type;
 
   
 
 begin
  open(fichier,out_file,"e:\test_ada\plus_court.txt" );
 
    for I in 1..Un_graphe.Taille loop
            for J in 1..Un_graphe.Taille loop
            get(Fichier,t_distance'value(un_graphe.matrice(I,J))); -- c'est ici que ca semble coincer !!
             end loop;  
          end loop;
 
       Close(Fichier);
 end lire_texte;
 
 procedure Afficher (Un_graphe : in T_graphe) is
   
     package p_distance is new Float_io (t_distance);
     use p_distance;
     
 begin
 
     for I in 1..Un_graphe.Taille loop
         for J in 1..Un_graphe.Taille loop
         put(t_distance'image(Un_graphe.Matrice(I,J)));
         end loop;
         New_Line;
     end loop;
     
  end afficher;
 
 
 distancier : t_graphe(467);  
 
 
 begin
 
  lire_texte(distancier);
 
  Afficher(distancier);
 
 
 end trajet;


Salut à toi.
Moi aussi je débute en Ada, bon déjà, je pense que la façon dont tu ouvres le fichier n'est pas la bonne comme ça, ce serait mieux
 
TEXT_IO.OPEN(File=>fichier,Mode=>TEXT_IO.IN_FILE,Name=>"e:\test_ada\plus_court.txt" );
 
ce serait d'une part plus propre et surtout si tu veux lire dedans, ben c en IN_FILE qu'il fo l'ouvrir.
 
ensuite je ne sais pas comment est structuré ton fichier mais get_line() est plus pratique, à part si tout est à la suite.
 
Voilà...
 
Sur ce bon courage.


Message édité par babar9160 le 09-03-2005 à 11:03:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  Lire dans un fichier texte

 

Sujets relatifs
lire certaines lignes d'un fichier texte (php)lire et afficher un fichier texte en C
[RESOLU][VB6] Lire un fichier texte[Une colle] Lire un fichier texte à partir du poste d'un client.
[VBA] Lire à partir d'un fichier texte[C] Ecrire ou lire dans un fichier texte
[C] Lire un fichier textelire 1 ligne d'un fichier texte
impossible de lire un fichier texte avec kylix!!!!Lire une partie d'un fichier texte [résolu]
Plus de sujets relatifs à : Lire dans un fichier texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR