10 '***********************************
20 '*                                 *
30 '*      UTILITAIRE DE LISTAGE      *
40 '*        FEUILLE A FEUILLE        *
50 '*                                 *
60 '*  DMP 2000 ET COMPATIBLES EPSON  *
70 '*                                 *
80 '***********************************
90 '
100 '****************** INITIALISATIONS
110 ESC$=CHR$(27) 'ESCAPE
120 ITAL$=ESC$+"4":NITAL$=ESC$+"5" 'ITALIQUES/SUPPRESSION
130 DFRP$=ESC$+"E":SFRP$=ESC$+"F" 'GRAS/MAIGRE
140 '
150 MODE 1:PEN 3:PRINT TAB(8);"LISTAGE FEUILLE A FEUILLE":PRINT
160 '
170 PEN 2:PRINT"POSITIONNEZ LA PREMIERE FEUILLE SOUS LA TETE D'IMPRIMANTE SVP.":PEN 1
180 '
190 PRINT:PRINT:INPUT"TITRE DU FICHIER ASCII ";TIT$
200 '
210 TP=0:WHILE TP<11 OR TP>12
220 LOCATE 1,10:PRINT"LGR FEUILLE EN POUCES (11/12)   12"
230 LOCATE 31,10:INPUT TP$
240 TP=VAL(TP$+CHR$(0))
250 IF TP$="" THEN TP=12
260 WEND
270 '
280 IF TP=12 THEN NLF=72 ELSE NLF=66 'NB DE LIGNES/FEUILLE SELON LONGUEUR EN POUCES
290 '------------------------ EXECUTION
300 OPENIN TIT$
310 NLP=NLF-12 'NB DE LIGNES/PAGE
320 LL=40 'NB CARACTERES/LIGNE
330 WIDTH 80
340 PRINT#8,ESC$;"à" 'REINITIALISE L'IMPRIMANTE
350 DBL=1:PRINT#8,ITAL$;DFRP$; 'ITALIQUES POUR LES NUMEROS DE LIGNES
360 GOSUB 640:NL=0:NC=0
370 '
380 '** LECTURE FICHIER + IMPRESSION 
390 '
400 WHILE NOT EOF
410 LINE INPUT#9,CH$ 
420 FOR I=1 TO LEN(CH$)
430 K$=MID$(CH$,I,1)
440 PRINT#8,K$;
450 IF DBL THEN IF K$<"0" OR K$>"9" THEN DBL=0:PRINT#8,NITAL$;SFRP$; 'ANNULATION ITALIQUES
460 '
470 NC=NC+1
480 IF NC=LL THEN GOSUB 590 'SAUT DE LIGNE OU DE PAGE
490 NEXT I
500 DBL=1:PRINT#8,ITAL$;DFRP$; 'ITALIQUES POUR LE NO DE LIGNE
510 GOSUB 590
520 '
530 WEND
540 '
550 CLOSEIN
560 PRINT#8,ESC$;"à"
570 END
580 '
590 '**** SAUT DE LIGNE OU DE PAGE ****
600 '
610 NC=0
620 IF NL=NLP THEN NL=0:PRINT#8,CHR$(12): 'SAUT DE PAGE
630 PRINT#8
640 PRINT#8,CHR$(13);SPC(40-LL/2)
650 NL=NL+1
660 Z=FRE(0)
670 RETURN
680 '
690 END