Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Le programme "'utilitaire" listé ciaprès<br />
permet de lire à ]' écran ou<br />
d'imprimer tout fichier TEXT séquentiel<br />
(fichier de données ou fichier de<br />
traitement de texte).<br />
Il est suffisamment simple pour se<br />
suffire à lui-même sur le p<strong>la</strong>n des explications.<br />
Notons simplement le rôle<br />
Programme LI-TEXTE<br />
5<br />
REM<br />
10 REM<br />
20 REM<br />
30 REM<br />
40 REM<br />
Lecture de fichiers TEXT<br />
de <strong>la</strong> sous-routine cl' erreur qui<br />
commence en 460. Cette dernière<br />
penne! d'une part de détecter <strong>la</strong> fin<br />
du fichier (BOOS) el, d'autre part, de<br />
traiter le problème des caractères de<br />
contrôle qui déclenchent une "ILLE<br />
GAL QUANTIlY ERROR" (code erreur<br />
53) à l'appel de <strong>la</strong> fonction<br />
ASC. La possibilité d'avoir à lire un<br />
(Inspiré de Nibble Express,<br />
Volume 11)<br />
•••••••••••••••••••••<br />
•• LECTURE DE ••<br />
•• FICHIERS TEXTES ••<br />
•• SEQUENTIELS ••<br />
•••••••••••••••••••••<br />
45 POKE 768, 104: POKE 769,168: POKE 770<br />
,104 : POKE 771 , 166: POKE 772,223:<br />
POKE 773,154: POKE 774,72: POKE<br />
775 ,152: POKE 776,72: POKE 777,96<br />
50 TEXT : HOME<br />
60 ON ERR GOTO 460<br />
70 OS ;; CHRS (4)<br />
BO RS = CHRs (13)<br />
90 CAS '" CHRS (1)<br />
100 AS = ,. 1# LECTURE FICHIERS TEXTE #<br />
110 VTAB 3: HTAB 20 LEN (AS) 1 2: IN<br />
VERSE : PRINT AS: NORMAL<br />
130 FOR X ;; 1 TO 40: PRINT ":";: NEXT<br />
140 PRINT : PRINT "PERMET AFFICHAGE A L<br />
'ECRAN DE FICHIER T_"<br />
150 PRINT : INVERSE : PRINT "VOULEZ-vOU<br />
S LE 'CATALOG' (QIN) ";: GET CS:<br />
NORMAL<br />
151 If CS ;; "N" THEN 170<br />
152 IF CS = "0" TH EN PRINT : PRINT : 1<br />
NVERSE : PRINT "ORIVE OU <br />
1 ";: GET X9 : NORMAL<br />
154 IF XS = "1" THEN PRINT RS + DS;"CA<br />
TALOG ,D1"<br />
156 IF XSi '" "2" THEN PRINT RSi ... DS;"CA<br />
TALOG ,02"<br />
170 PRINT : PRINT<br />
175 HTAB 25: PRINT " --> STOP": PRIN<br />
T<br />
180 INVERSE : INPUT "NOK DU FICHIER TEX<br />
TE 1 ";NFS : NORMAL<br />
185 IF NFS -= . ... THEN 150<br />
190 IF NF9 ;; "S" THEN 500<br />
Un bug de Pascal Apple (version IL 1) ?<br />
200<br />
210<br />
220<br />
320<br />
330<br />
340<br />
350<br />
360<br />
370<br />
3aO<br />
400<br />
410<br />
420<br />
430<br />
440<br />
445<br />
447<br />
450<br />
455<br />
460<br />
4ao<br />
4a5<br />
490<br />
Jean-François Schwartz<br />
fichier TEXT comportant de nombreux<br />
caractères de cette nature justifie<br />
par ailleurs J' emploi de <strong>la</strong> petite<br />
routine en <strong>la</strong>ngage-machine présentée<br />
dans le manuel de référence de<br />
l'Applesoft (page 136) en vue de<br />
supprimer les problèmes résultant<br />
d'appels trop fréquents à une procédure<br />
ONERR.<br />
PRINT : INVERSE : PRINT "IMPRESSION<br />
(O/N) ";: GET S9: NORMAL<br />
IF SS = .. a" THEM PRINT RS + os; "PR<br />
#1": PRINT CHRS (9);"80N" : REt'(<br />
IMPRIMANTE SLOT 1<br />
PRINi<br />
PRINT DS; "OPEN ";NFS<br />
PRINT OS; "READ ";NFS<br />
La =<br />
....<br />
GET CS<br />
IF CS = RS THEN 410<br />
VC = ASC (CS)<br />
IF VC > 96 AND VC < 123 THEN CS ;;<br />
CHRS (VC - 32)<br />
LS = LS + Cs: IF LEN (LS) = 255 THE<br />
N 410<br />
GOTO 350<br />
PRINT RS;OS<br />
PRINi CA9;LS<br />
GOTO 330<br />
PRINT "F'IN DU FICHIER TEXTE"<br />
PRINT DS; "CLOSE ";NFS<br />
PRINT OS;"PR/IIO"<br />
PRINT : PRINT "AUTRE FICHIER 1 (O/N<br />
)";: GET Fa: IF Fa = "0" THEN GO<br />
Ta 150<br />
IF FS ; "N" THEN 500<br />
CALL 768: BOO = PEEK (222) : IF BOO<br />
= 53 THEN 390<br />
IF BOO = 5 TH EN GOTO 440<br />
HOHE : VTAB 10: HTAB 10<br />
PRINT "ERREUR NUMERO ";BOO:" SURVEN<br />
UE ."<br />
495 FOR 1 s 1 TO 2000: NEXT 1<br />
500 REM ••• FINIBOOT •••<br />
Le programme ci-contre, quand on l'exécute, affiche "- -2768 " !<br />
505 HOHE :ZZ$ " " -JI. F I N /II ": VTAB 10:<br />
HTAB 20 - LEN (ZZS) 1 2: INVERS<br />
E : PRINT ZZ9: NORMAL<br />
510 VTAB 15: HTAB 5: PRINT .. 'NOUVELLE 0<br />
ISQUETTE 1 OIN ";: GET Ail: IF LE<br />
FTS (AS,l) < > "0" THEN HOHE :<br />
END<br />
515 PRINT CHRS " CHR6 (4);··PRII'6"<br />
PROGRAM ESSAI :<br />
VAR I:INTEGER :<br />
BEG IN<br />
END .<br />
1::-16384- 16384<br />
WRITELN (I) ;<br />
<strong>Pom's</strong> n" 9 37