1 '(C) LOGI'STICK 84 10 CLEAR0:CLEAR(FRE(0)-999)/18*15:DIMH$(0,0):ONERRORGOTO6000 30 CLS:PRINT"Creer un fichier 1 Ouvrir un fichier 2 Sauver un fichier 3 CHOIX "; 40 ZN=1:GOSUB5000:IFOK$<>CHR$(13)THEN130ELSECLS 70 PRINT"Entrer des fiches 4 Lire des fiches 5 Rech/mod fiches 6 CHOIX "; 80 ZN=1:GOSUB5000:IFOK$<>CHR$(13)THEN130ELSECLS 110 PRINT"Detruire fiche(s) 7 Trier fichier 8 Editer des fiches 9 CHOIX "; 120 ZN=1:GOSUB5000:IFOK$<>CHR$(13)THEN130ELSECLS 125 PRINT"Cartes C Arret O Fin F Ram"; 126 PRINT" R";:ZN=1:GOSUB5000 130 IFOK$="O"THENSLEEP:GOTO30ELSEIFOK$="C"THEN1500ELSEIFOK$="F"THENCLS:END 145 IFOK$="R"THENCLS:PRINT"RAM =";FRE(A$);:ZN=1:GOSUB5000 150 X=VAL(OK$):ONXGOTO160,230,270,330,420,500,660,740,930:GOTO30 160 CLS:PRINT"Nom fichier : ";:ZN=6:GOSUB5000:F$=DE$:IFAA=1THEN30 170 CLS:FORI=1TO10 180 PRINT"Rub ";I;" : ";:ZN=8:GOSUB5000 182 IFAA=1ANDI=1THEN30ELSEIFAA=1THENI=I-2:PRINT:GOTO187 183 IFAZ=1THEN210ELSER$(I)=DE$ 187 NEXTI 210 T=I-1:NB=INT(FRE("£")/((T+1)*15)):ERASEH$:DIMH$(NB,T) 217 CLS:PRINT:PRINT"Nb fiches : ";NB:ZN=1:GOSUB5000:GOTO30 230 CLS:PRINT"Nom fichier : ";:ZN=6:GOSUB5000:N$=DE$:IFAA=1THEN30 240 INIT£1,"CASI:":INPUT£1,F$,T,N:IFF$<>N$THEN30ELSECLS:PRINT"CHARGE ";N$ 242 NB=INT(FRE(A$)/((T+1)*15)):ERASEH$:DIM H$(NB,T) 243 PRINT"Nb fiches : ";NB:FORZZ=1TO50:NEXTZZ:IFN>NBTHEN30 250 INPUT£1,R$(1),R$(2),R$(3),R$(4),R$(5),R$(6),R$(7),R$(8),R$(9),R$(10) 251 IFN=0THEN30 260 FORI=1TON:LINEINPUT£1,YY$:GOSUB261:NEXTI:GOTO30 261 GG=0:X=1:J=1:FORZ=1TOLEN(YY$):GG=GG+1 262 IFMID$(YY$,Z,1)=CHR$(200)THENH$(I,J)=MID$(YY$,X,GG-1):J=J+1:X=Z+1:GG=0 263 NEXTZ:RETURN 270 IFT=0ORN=0THEN30 280 CLS:PRINT"Pret sauvegarde : ";:ZN=1:GOSUB5000:IFAA=1THEN30 300 INIT£1,"CASO:":PRINT£1,F$,T,N 301 PRINT£1,R$(1),R$(2),R$(3),R$(4),R$(5),R$(6),R$(7),R$(8),R$(9),R$(10) 310 IFN=0THEN30 320 FORI=1TON:YY$="":FORJ=1TOT:YY$=YY$+H$(I,J)+CHR$(200):NEXTJ:PRINT£1,YY$ 321 NEXTI:GOTO30 330 IFT=0THEN30 340 N=N+1:IFN=NB+1THENN=NB:GOTO30 350 CLS:PRINT"Fiche numero ";N:FORZ=1TO50:NEXTZ:CLS:FORI=1TOT 370 PRINTR$(I);" : ";:ZN=20:GOSUB5000:H$(N,I)=DE$ 380 IFI=1ANDAA=1THENN=N-1:GOTO30ELSEIFAA=1THENI=I-1:PRINT:GOTO370 400 IFH$(N,I)="/"THENH$(N,I)=H$(N-1,I):PRINTCHR$(30);R$(I);" : ";H$(N,I) 410 NEXTI:GOTO340 420 IFT=0ORN=0THEN30ELSECLS:PRINT"1/IMP 2/ECR : ";:ZN=1:GOSUB5000 421 IFAA=1THEN30ELSEK=VAL(DE$):IFK<1ORK>2THEN420 430 CLS:FORI=1TON:IFK=1THENLPRINT:LPRINT"NUMERO : ";I 450 PRINT:PRINT"NUMERO : ";I:FORJ=1TOT:PRINTR$(J);" : ";H$(I,J) 451 IFK=1THENLPRINTR$(J);" : ";H$(I,J) 455 IFINKEY$=" "THENZN=1:GOSUB5000:PRINTCHR$(30);ELSEIFINKEY$="^"THEN30 457 NEXTJ:NEXTI:GOTO30 500 IFN=0ORT=0THEN30 510 CLS:PRINT"Rec rub: ";:ZN=2:GOSUB5000:C=VAL(DE$):IFAA=1THEN30ELSEIFC<1ORC>TTHEN510 530 CLS:PRINTR$(C);" : ";:ZN=20:GOSUB5000:R$=DE$:IFAA=1THEN30 560 FORI=1TON:IFAZ=1THEN580 561 IFLEFT$(H$(I,C),LEN(R$))=R$THEN580ELSENEXTI:GOTO30 580 CLS:FORK=1TOT:PRINTR$(K);" : ";H$(I,K):NEXTK:ZN=1:GOSUB5000 600 IFDE$="M"THEN610ELSENEXTI:GOTO30 610 CLS:FORJ=1TOT:PRINTR$(J);" : ";H$(I,J); 620 PRINTTAB(LEN(R$(J))+3);:LINEINPUTH$(I,J) 621 IFLEN(H$(I,J))>20THEN620 630 NEXTJ:ZN=1:GOSUB5000:IFOK$="N"THEN610ELSENEXTI:GOTO30 660 IFT=0ORN=0THEN30 670 CLS:PRINT"Fiche a det : ";:ZN=3:GOSUB5000:C=VAL(DE$):IFAA=1THEN30 671 IFC<1ORC>NTHEN670 690 CLS:FORI=1TOT:PRINTR$(I);" : ";H$(C,I):NEXTI:ZN=1:GOSUB5000 720 CLS:PRINT"Dest D.A.R : ";:ZN=1:GOSUB5000:IFOK$="A"ANDC1THENC=C-1:GOTO690ELSEIFAA=1THEN30ELSEIFOK$="D"THEN730ELSE720 730 FORI=CTON-1:FORJ=1TOT:H$(I,J)=H$(I+1,J):NEXTJ:NEXTI:N=N-1:GOTO30 740 IFT=0ORN=0THEN30 750 CLS:PRINT"Trie sur rub ";:ZN=2:GOSUB5000:C=VAL(DE$):IFAA=1THEN30 751 IFC<1ORC>TTHEN750 770 CLS:PRINT"Alphanumerique 1 Numerique 2 Choix "; 780 ZN=1:GOSUB5000:K=VAL(DE$):IFAA=1THEN30ELSEIFK<1ORK>2THEN780 790 D=1 800 D=D*2 810 IFD<=NTHEN800 820 D=INT((D-1)/2) 830 IFD=0THEN30 840 FORI=1TON-D 850 FORJ=ITO1STEP-D 860 L=J+D 865 IFK=2THENIFVAL(H$(J,C))<=VAL(H$(L,C))THEN910ELSE890 870 IFH$(J,C)<=H$(L,C)THEN910 890 FORZ=1TOT:X$=H$(J,Z):H$(J,Z)=H$(L,Z):H$(L,Z)=X$:NEXTZ 900 NEXTJ 910 NEXTI:GOTO820 930 IFT=0ORN=0THEN30 940 CLS:PRINT"Nb rub : ";:ZN=2:GOSUB5000:C=VAL(DE$):IFAA=1THEN30ELSEIFC<1ORC>TTHEN940 960 CLS:L=0:FORJ=1TOC 961 PRINT"Rub : ";:ZN=2:GOSUB5000:C(J)=VAL(DE$) 962 IFC(J)<1ORC(J)>TTHENPRINTCHR$(30);:GOTO961 965 PRINT"Lar : ";:ZN=2:GOSUB5000:L(J)=VAL(DE$):L=L+L(J):NEXTJ:IFL>80THEN960 980 CLS:PRINT"Rec rub : ";:ZN=2:GOSUB5000:D=VAL(DE$):IFD<1ORD>TTHEN980 990 PRINT"Choix (ret) : ";:ZN=20:GOSUB5000:X$=DE$:IFAZ=1THENX$="ENTIER" 1000 CLS:PRINT"Titre : ";:ZN=40:GOSUB5000:TI$=DE$:PRINT"Comme : ";:ZN=40 1010 GOSUB5000:CO$=DE$:PRINT"Inter : ";:ZN=1:GOSUB5000:I$=DE$ 1130 IFL>40THENXX=1ELSEIFL<=40THENXX=2 1170 IFTI$=""THENLPRINT°XX,2§"Edition du fichier ";F$;"/";X$:GOTO1190 1180 LPRINT°XX,2§TI$ 1190 FORI=1TOC:LPRINT°XX,3§LEFT$(R$(C(I)),L(I)-1);" "; 1210 K=L(I)-LEN(R$(C(I)))-1:IFK>0THENLPRINTSTRING$(K,32); 1230 NEXTI 1240 LPRINT:LPRINT 1250 FORI=1TON 1251 IFI$<>""THENLPRINT 1260 IFX$="ENTIER"THEN1280ELSEIFLEFT$(H$(I,D),LEN(X$))<>X$THEN1340 1280 FORJ=1TOC:LPRINT°XX,1§LEFT$(H$(I,C(J)),L(J)-1);" "; 1300 K=L(J)-LEN(H$(I,C(J)))-1:IFK>0THENLPRINTSTRING$(K,32); 1320 NEXTJ:LPRINT:NEXTI:LPRINT:LPRINT°XX,2§CO$:GOTO30 1500 CLS:PRINT"Sauvegarde 1 Lecture 2 Effacement 3" 1510 PRINT"Directory 4 ";:ZN=1:GOSUB5000:IFAA=1THEN30 1520 ONVAL(OK$)GOTO1600,1700,1800,1900:GOTO1500 1600 IFN=0ORT=0THEN30ELSECLS:PRINTF$;" sauvegard":ZN=1:GOSUB5000:IFAA=1THEN1500 1610 INIT£1,F$,200+N*T*25:PRINT£1,T,N 1620 PRINT£1,R$(1),R$(2),R$(3),R$(4),R$(5),R$(6),R$(7),R$(8),R$(9),R$(10) 1630 FORI=1TON:YY$="":FORJ=1TOT:YY$=YY$+H$(I,J)+CHR$(200):NEXTJ:PRINT£1,YY$ 1640 NEXTI:GOTO1500 1700 CLS:PRINT"Fichier : ";:ZN=6:GOSUB5000:F$=DE$:IFAA=1THEN1500 1710 INIT£1,F$:INPUT£1,T,N:NB=INT(FRE(A$)/((T+1)*15)):ERASEH$:DIMH$(NB,T) 1711 CLS:PRINT"Nb fiches : ";NB:FORZZ=1TO50:NEXTZZ:IFN>NBTHEN1500 1720 INPUT£1,R$(1),R$(2),R$(3),R$(4),R$(5),R$(6),R$(7),R$(8),R$(9),R$(10) 1730 FORI=1TON:LINEINPUT£1,YY$:YY$=RIGHT$(YY$,LEN(YY$)-1) 1731 GG=0:X=1:J=1:FORZ=1TOLEN(YY$):GG=GG+1 1732 IFMID$(YY$,Z,1)=CHR$(200)THENH$(I,J)=MID$(YY$,X,GG-1):J=J+1:X=Z+1:GG=0 1733 NEXTZ:BEEP2000,2:NEXTI:GOTO1500 1800 CLS:PRINT"FICHIER : ";:ZN=6:GOSUB5000:IFAA=1THEN1500 1810 C$=DE$:DELETEC$,"D":GOTO1500 1900 CLS:DIR:ZN=1:GOSUB5000:GOTO1500 5000 DE$="":AA=0:FORAZ=1TOZN 5010 OK$=INKEY$:IFOK$=""THEN5010 5020 IFOK$=CHR$(29)ANDAZ>1THENDE$=LEFT$(DE$,LEN(DE$)-1):AZ=AZ-2:GOTO5080 5030 IFOK$=CHR$(13)THENPRINT:RETURN 5040 IFOK$=CHR$(29)ANDAZ<=1THENBEEP40,5:GOTO5010 5050 IFOK$=CHR$(30)OROK$=CHR$(31)THENBEEP45,5:GOTO5010 5060 IFOK$="^"ANDAZ=1THENAA=1:RETURN 5061 IFAZ=ZN-4THENBEEP40,5 5070 DE$=DE$+OK$ 5080 PRINTOK$;" ";CHR$(29);:NEXTAZ:PRINT:RETURN 6000 RESUME30