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 |