-- RT_C127A4A3 : Lecture d'un fichier Rastell Toull au format 2 -- Coyright Jacques-deric Rouault -- Version 1.2 du 20120309 WITH Text_io; USE Text_io; PROCEDURE RT_C127A4A3 IS ftxt : File_type; str : string (1..255); lon : integer; code_format : Integer; str_nom_fichier : string (1..80); lon_nom_fichier : integer; Probleme : EXCEPTION; PACKAGE IIO IS NEW Integer_io (Integer); -------------------------------------------------------------------------------------------------- PROCEDURE lecture_ligne (ftxt : IN OUT file_type; str : OUT string; lon : OUT Integer) is -- Compatible Windows et Linux BEGIN get_line (ftxt,str,lon); IF lon>0 THEN IF character'pos (str(lon))=13 THEN lon:=lon-1; END IF; END IF; END lecture_ligne; -------------------------------------------------------------------------------------------------- BEGIN Put_line ("Debut d'execution du programme Ada RT_C127A4A3"); Open (ftxt,in_file,"RT_C127A4A1.txt"); lecture_ligne (ftxt,str,lon); IF (lon/=15) OR (str(1..15)/="\\RASTELL-TOULL") THEN Put_line ("ERREUR 1 : IDENTIFICATEUR RASTELL-TOULL NON RECONNU"); RAISE probleme; END IF; lecture_ligne (ftxt,str,lon); IF (lon/=8) OR (str(1..8)/="\\FORMAT") THEN Put_line ("ERREUR 2 : IDENTIFICATEUR FORMAT NON RECONNU"); RAISE probleme; END IF; iio.get (ftxt,code_format); lecture_ligne (ftxt,str,lon); IF code_format/=2 THEN Put_line ("ERREUR 3 : CODE FORMAT INCORRECT"); RAISE probleme; END IF; lecture_ligne (ftxt,str,lon); IF (lon/=10) OR (str(1..10)/="\\FICHIERS") THEN Put_line ("ERREUR 4 : IDENTIFICATEUR FICHIERS NON RECONNU"); RAISE probleme; END IF; lecture_ligne (ftxt,str,lon); lecture_ligne (ftxt,str_nom_fichier,lon_nom_fichier); lecture_ligne (ftxt,str,lon); IF (lon/=8) OR (str(1..8)/="\\FINEND") THEN Put_line ("ERREUR 4 : IDENTIFICATEUR FINEND NON RECONNU"); RAISE probleme; END IF; Close (ftxt); Put_line ("Nom du fichier = " & str_nom_fichier(1..lon_nom_fichier)); Put_line ("Fin d'execution du programme Ada RT_C127A4A3"); EXCEPTION WHEN probleme => Put_line ("ERREUR : FORMAT NON CONFORME"); END RT_C127A4A3;