1 '**** KIT-CAT **(V 2,0) 31/07/86
2 '**** jeff Gaste ****** 3 ' Fichiers = DONNEES. ; LOGI. ; LOGI1.BAS 10 MODE 0:LOCATE 7,10:PRINT"KIT-CAT" 20 OPENOUT "bidon":MEMORY HIMEM-1:CLOSEOUT 60 DIM d(50),dc(50),f(2),i(10),f$(10),t$(50,2,10),ge$(4,10),g$(50,2),fa$(50,2),k$(50,2) 70 DEFINT a-z 90 FOR r=0 TO 36:READ dat$:NEXT r 100 MODE 2:GOSUB 140:GOTO 150 110 WINDOW#2,1,80,2,14:PAPER#2,0:PEN#2,1 120 WINDOW#3,27,80,15,25:PAPER#3,1:PEN#3,0 130 WINDOW#4,1,24,15,25:PAPER#4,1:PEN#4,0 140 WINDOW#1,1,80,1,1:PAPER#1,1:PEN#1,0:RETURN 150 ft$="KIT-CAT":GOSUB 2100 160 LOCATE 2,3:PRINT "Ce progamme vous servira:":PRINT:PRINT"-a modifier un CATalogue de Disque (Effacer ou Renommer des fichiers)" 170 PRINT:PRINT"-a creer ou modifier des Menus deroulants en en-tete de vos Disques 180 PRINT:PRINT"-a imprimer des jaquettes et des etiquettes sur vos Disques" 190 PRINT:PRINT"-a imprimer les CATalogues et les Menus" 200 PRINT:PRINT"-a gerer votre Logitheque (recherches multi-criteres) 210 LOCATE 2,16:PRINT"Avant de commencer, assurez vous:":PRINT:PRINT"-que vous avez un fichier 'LOGI. 'sur ce Disque (sinon RUN";CHR$(34);"LOGI1)" 220 PRINT:PRINT"-que vous avez bien un fichier 'D.BAS'sur ce Disque (sinon le mettre)" 230 PRINT:PRINT"-que vous avez bien un fichier 'DONNEES'sur ce Disque,ou au moins 1K FREE" 240 LOCATE 30,24:PRINT " PATIENCE ....":REM '10'=CTRL x 250 OPENIN "logi":FOR dc=1 TO 50:FOR f=1 TO 2 260 INPUT#9,g$(dc,f),fa$(dc,f),k$(dc,f) 270 FOR i=1 TO 10:INPUT#9,t$(dc,f,i):NEXT i,f,dc:CLOSEIN 280 LOCATE 30,24:PRINT " DESIGNEZ UNE TOUCHE...":CALL &BB18 999 'menu principal 1000 MODE 2:GOSUB 110 1010 dc=1:f=1:i=1 1020 ft$="KIT-CAT Mode d'emploi":GOSUB 2100:GOSUB 2400 1030 CLS#2:LOCATE#2,2,4:PRINT#2,"Choisissez votre option en deplacant le'masque' avec les fleches de direction":PRINT#2:PRINT#2,"Puis confirmez par <ENTER> ou <RETURN>" 1040 RESTORE 11000:CLS#3:dx=0:dy=0 1050 FOR dy=0 TO 3:FOR dx=0 TO 1 1060 LOCATE#3,4+(23*dx),3+(2*dy):READ ge$(dx,dy):PRINT#3,ge$(dx,dy) 1070 NEXT dx,dy 1080 z=FRE(""):LOCATE#2,16,12:PRINT#2,"Memoire Disponible: ";z;" Octets" 1089 ' 1090 'sous programme de dessin des cadres 1091 ' 1100 m=2:cou=0:eff=1:choix=1:no=8:nc=2:x=215:dx=0:y=146:dy=0:ly=6:GOSUB 1200 1110 ON choix GOTO 3000,4000,5000,6000,7000,8000,9000,10000 1200 ce=cou:GOSUB 1400:CALL &BB18 1210 IF INKEY(0)=0 THEN ce=eff:GOSUB 1400:choix=choix-nc:dy=dy-1:GOTO 1260 1220 IF INKEY(2)=0 THEN ce=eff:GOSUB 1400:choix=choix+nc:dy=dy+1:GOTO 1260 1230 IF INKEY(1)=0 THEN ce=eff:GOSUB 1400:choix=choix+1:dx=dx+1:GOTO 1260 1240 IF INKEY(8)=0 THEN ce=eff:GOSUB 1400:choix=choix-1:dx=dx-1:GOTO 1260 1250 IF INKEY(6)=0 OR INKEY(18)=0 THEN RETURN ELSE 1260 IF dy<0 THEN dy=0:choix=choix+nc 1270 IF dy>INT((no-1)/nc) THEN dy=INT((no-1)/nc):choix=choix-nc 1280 IF dx>(nc-1) THEN dx=(nc-1):choix=choix-1 1290 IF dx<0 THEN dx=0:choix=choix+1 1300 GOTO 1200 1400 IF nc=4 THEN GOTO 1500 ELSE 1600 1500 PLOT x+dx*160,y-16*dy,ce:DRAWR 140,0:PLOTR 0,-17:DRAWR -140,0:PLOTR 0,17:RETURN 1600 PLOT x+(dx*400)/nc,y-(16*dy*m),ce:DRAWR 30*ly,0:DRAWR 0,-19:DRAWR -(30*ly),0:DRAWR 0,19:RETURN 2089 ' 2090 'sous programmes titre et commandes 2091 ' 2100 CLS#1:LOCATE#1,40-LEN(ft$)/2,1:PRINT#1,ft$:RETURN 2200 CLS#2:LOCATE#2,2,4:PRINT#2,"Chargez la disquette concernee....":CALL &BB18:RETURN 2400 CLS#4:LOCATE#4,12,1:PRINT#4,CHR$(214);CHR$(215) 2410 LOCATE#4,7,2:PRINT#4,CHR$(214);" ";CHR$(215) 2420 LOCATE#4,7,3:PRINT#4,CHR$(213);" CHOIX ";CHR$(212) 2430 LOCATE#4,12,5:PRINT#4,CHR$(213);CHR$(212) 2440 PRINT#4," puis":PRINT#4:PRINT#4," <ENTER> ou <RETURN>":RETURN 2500 CLS#3:LOCATE#3,20,1:PRINT#3,"Numero du Disque" 2510 n=0:dx=0:dy=0:FOR dy=0 TO 4:FOR dx=0 TO 9 2520 LOCATE#3,3+(5*dx),3+(2*dy):n=n+1:PRINT#3,n:NEXT dx,dy 2530 m=2:cou=0:eff=1:choix=1:no=50:nc=10:x=220:dx=0:y=146:dy=0:ly=1:GOSUB 1200:RETURN 2600 CLS#3:LOCATE#3,14,1:PRINT#3,"Quelle Face ?" 2610 LOCATE#3,4,3:PRINT#3,"Face 1 ":LOCATE#3,4,5:PRINT#3,"Face 2" 2620 cou=0:eff=1:choix=1:no=2:nc=1:x=230:dx=0:y=146:dy=0:ly=2:GOSUB 1200:RETURN 2700 CLS#3:LOCATE#3,2,1:PRINT#3,"Genre des programmes:" 2710 RESTORE 11020:dx=0:dy=0:FOR dy=0 TO 3:FOR dx=0 TO 2 2720 LOCATE#3,3+(16*dx),3+(2*dy):READ ge$(dx,dy):PRINT#3,ge$(dx,dy):NEXT dx,dy 2730 m=2:cou=0:eff=1:choix=1:no=12:nc=3:x=210:dx=0:y=146:dy=0:ly=4:GOSUB 2400:GOSUB 1200:RETURN 2800 CLS#4:LOCATE#4,2,2:PRINT#4," Assurez-vous":PRINT#4:PRINT#4," que l'imprimante":PRINT#4:PRINT#4," est branchee"::PRINT#4:PRINT#4," puis une touche":CALL &BB18:RETURN 2810 CLS#2:PRINT#2:PRINT#2," Patience sauvegarde en cours....":RETURN 2820 CLS#4:LOCATE#4,2,2:PRINT#4,"pour continuer":PRINT#4:PRINT#4," DESIGNEZ UNE TOUCHE":CALL &BB18:RETURN 2999 'Modification d'un catalogue 3000 CLS 3010 ft$="Modification d'un catalogue" 3020 GOSUB 2100:GOSUB 2200 3030 CLS:CLS#2:CLS#3:CLS#4:GOSUB 2100:CAT 3040 GOSUB 2400 3070 RESTORE 11010:dx=0:dy=0:FOR dy=0 TO 1:FOR dx=0 TO 1 3080 LOCATE#3,4+(26*dx),3+(2*dy):READ b$:PRINT#3,b$:NEXT dx,dy 3090 m=2:cou=0:eff=1:choix=1:no=4:nc=2:x=220:dx=0:y=146:dy=0:ly=6:GOSUB 1200 3100 ON choix GOTO 3200,3300,3400,3500 3199 'effacment des fichiers .BAK 3200 GOSUB 2810 3210 ùERA,"*.bak":GOTO 3030 3299 'changement de nom 3300 GOSUB 3600 3310 LOCATE#4,1,6:PRINT#4," Nouveau nom : ":PRINT#4:INPUT#4,nn$ 3320 ùREN,nn$,f$(j):GOTO 3030 3399 'effacement d'un fichier 3400 GOSUB 3600 3410 LOCATE#4,2,7:PRINT#4," Confirmez par <O>ui":PRINT#4:PRINT#4," sinon <ESPACE>":CALL &BB18 3420 IF INKEY(34)=0 THEN ùERA,f$(j) 3430 GOTO 3030 3500 ' retour menu 3510 GOTO 1000 3599 'sous programme cadres dans le catalogue 3600 CLS#4:LOCATE#4,2,2:PRINT#4,"Nom du fichier: ":LOCATE#4,3,4:GOTO 3800 3700 CLS#4:LOCATE#4,2,2:PRINT#4,"Il reste:":LOCATE#4,3,4:GOTO 3800 3800 m=1:cou=1:eff=0:choix=1:no=40:nc=4:x=0:dx=0:y=353:dy=0:GOSUB 1200 3810 ce=eff:f$(j)="":GOSUB 1400 3820 FOR rg=1 TO 12 3830 LOCATE#2,((3+choix)MOD 4)*20+rg,3+INT(((choix-1)*2)/8) 3840 a$=COPYCHR$(#2):f$(j)=f$(j)+a$:PRINT#4,a$; 3870 NEXT rg:RETURN 4000 'Impression d'une jaquette 4010 CLS:ft$="Impression d'une jaquette":GOSUB 2100 4100 'Impression d'un disque donne 4110 CLS#2:GOSUB 2400:GOSUB 2500:dc=choix:GOSUB 9220 4120 aa$="I"+SPACE$(66)+"I" 4200 GOSUB 4800:PRINT#8,STRING$(68,"-");" decoupez":PRINT#8,aa$:PRINT#8,aa$:PRINT#8,STRING$(68,"-");" pliez";:GOSUB 4810 4210 GOSUB 4840:GOSUB 4820 4220 PRINT#8," ";g$(dc,1);SPACE$(15-LEN(g$(dc,1)));"DISC :";dc;" ";g$(dc,2); 4250 GOSUB 4840:GOSUB 4830 4260 GOSUB 4800:PRINT#8,STRING$(68,"-");" pliez" 4270 GOSUB 4820 4280 PRINT#8," ";g$(dc,1);SPACE$(15-LEN(g$(dc,1)));"DISC :";dc;" ";g$(dc,2) 4290 PRINT#8,"I";SPACE$(14);"Tapez RUN";CHR$(34);"d";SPACE$(14);"I" 4300 GOSUB 4840:GOSUB 4830:GOSUB 4800 4310 PRINT#8,"I";" Face 1";SPACE$(27);"Face 2" 4320 PRINT#8,"I";" format: ";fa$(dc,1);SPACE$(20);" format: ";fa$(dc,2) 4330 PRINT#8,aa$ 4340 FOR i=1 TO 10 4350 PRINT#8,"I";" ";t$(dc,1,i);SPACE$(34-LEN(t$(dc,1,i)));t$(dc,2,i);SPACE$(30-LEN(t$(dc,2,i)));"I" 4360 NEXT 4370 PRINT#8,aa$:PRINT#8,aa$ 4380 PRINT#8,"I";" Reste:";k$(dc,1);SPACE$(20);" Reste:";k$(dc,2) 4390 PRINT#8,STRING$(68,"-"):GOSUB 4810 4700 GOTO 1000 4800 PRINT#8,CHR$(15):RETURN:' ecriture condensee 4810 PRINT#8,CHR$(18):RETURN:' retour standard 4820 PRINT#8,CHR$(27);"x";CHR$(1);CHR$(1);CHR$(27);"p";CHR$(1);:RETURN:' proprtionnel NLQ 4830 PRINT#8,CHR$(27);"x";CHR$(0);CHR$(27);"p";CHR$(0);:RETURN:' retour standard 4840 PRINT#8,CHR$(27);"j";CHR$(50):RETURN:' recul papier 4990 CALL &BB06:GOTO 1000 5000 'Creation d'un Menu 5010 CLS:ft$="Creation d'un Menu":GOSUB 2100:GOSUB 2200 5020 CLS#2:CLS#3:CLS#4:CAT 5040 LOCATE#3,20,1:PRINT#3,"Mode d'emploi" 5050 PRINT#3:PRINT#3," Determinez le No du disque" 5060 PRINT#3:PRINT#3," Puis la face concernee" 5070 PRINT#3:PRINT#3," Puis le 'genre' des programmes" 5080 GOSUB 2820 5090 CLS#3 5100 GOSUB 2400:GOSUB 2500:dc=choix 5110 GOSUB 2600:f=choix:GOSUB 2700 5120 IF choix<12 THEN g$(dc,f)=ge$(dx,dy) ELSE CLS#4:LOCATE#4,2,2:LINE INPUT#4,"Genre:",g$(dc,f) 5130 g$(dc,f)=LEFT$(UPPER$(g$(dc,f)),14) 5140 fa=PEEK(&BE54):IF fa=0 THEN fa$(dc,f)="Data" ELSE fa$(dc,f)="System" 5150 GOSUB 5160:GOTO 5300 5160 CLS#3:LOCATE#3,6,6:PRINT#3,"Designez le nombre de'K free'" 5170 GOSUB 3700 5180 k$(dc,f)=LEFT$(f$(j),4) 5190 IF k$(dc,fc)="" THEN k$(dc,fc)=" K" 5200 RETURN 5300 CLS#3:CLS#4 5310 LOCATE#3,20,1:PRINT#3,"Mode d'emploi" 5320 PRINT#3:PRINT#3," Designer le fichier 'lanceur' du programme" 5330 PRINT#3:PRINT#3," Si le Programme a le meme nom :<COPY>" 5340 PRINT#3:PRINT#3," Sinon <ESPACE> puis tapez le nom" 5350 PRINT#3:PRINT#3," pour continuer DESIGNEZ UNE TOUCHE":CALL &BB18 5360 CLS#3:LOCATE#3,2,1:PRINT#3,"Disque:";dc;" Face: ";f;" Genre:";g$(dc,f) 5370 LOCATE#3,38,7:PRINT#3,"Format:";fa$(dc,f):LOCATE#3,38,9:PRINT#3,"Reste :";k$(dc,f) 5400 i=1:enregis=0:GOSUB 5410:GOTO 5610 5410 IF(INKEY(68)=0 OR i>10) THEN enregis=1 5420 WHILE enregis=0:GOSUB 2400:GOSUB 3600:f$(i)=f$(j):LOCATE#4,2,6:PRINT#4,"Titre :":LOCATE#4,2,10:PRINT#4,"Tapez <COPY>ou<ESPACE>":LOCATE#4,1,8:CALL &BB18 5430 IF INKEY(9)=0 THEN t$(dc,f,i)=LEFT$(f$(i),8):PRINT#4," ";t$(dc,f,i):FOR t=1 TO 300:NEXT ELSE LINE INPUT#4,t$(dc,f,i) 5440 f$(i)=LOWER$(f$(i)):t$(dc,f,i)=LEFT$(UPPER$(t$(dc,f,i)),15):LOCATE#3,2+18*INT((i-1)/4),3+2*((i-1)MOD 4):PRINT#3,t$(dc,f,i) 5550 CLS#4:LOCATE#4,2,2:PRINT#4,"Tapez :":LOCATE#4,2,4:PRINT#4,"<TAB> si Menu Complet":LOCATE#4,2,6:PRINT#4,"<ESPACE> sinon" 5560 i=i+1:CALL &BB18:GOTO 5410:WEND 5570 CLS#4:LOCATE#4,2,2:PRINT#4,"Menu complet ?" 5580 LOCATE#4,2,4:PRINT#4,"Confirmez par <0>ui" 5590 LOCATE#4,2,6:PRINT#4,"Sinon une autre touche":CALL &BB18 5600 IF INKEY(34)=0 THEN RETURN ELSE 5410 5610 GOSUB 5650:GOTO 1000 5650 k=0:k=VAL(LEFT$(k$(dc,f),3)):k=k-1 5660 IF k<10 THEN k$(dc,f)=" "+STR$(k)+"K" 5670 IF k<100 THEN k$(dc,f)=" "+STR$(k)+"K" ELSE k$(dc,f)=STR$(k)+"K" 5690 'sauvegarde d'un menu 5700 GOSUB 2810 5710 OPENOUT "donnees" 5720 WRITE#9,dc,f,i,g$(dc,f),fa$(dc,f),k$(dc,f) 5730 FOR i=1 TO i-1:WRITE#9,t$(dc,f,i),f$(i):NEXT 5740 CLOSEOUT 5750 FOR i=i TO 10:t$(dc,f,i)="":NEXT:i=p 5760 RETURN 6000 'Impression d'une etiquette 6010 CLS:ft$="Impression d'une etiquette":GOSUB 2100 6100 'Impression d'un disque donne 6110 CLS#2:GOSUB 2400:GOSUB 2500:dc=choix 6120 GOSUB 2400:GOSUB 2600:f=choix:GOSUB 9220 6200 GOSUB 4800:PRINT#8,STRING$(48,"-");:GOSUB 4810 6210 GOSUB 4820:PRINT#8,"I ";"No:";dc;g$(dc,f);" ";fa$(dc,f) 6220 PRINT#8,"I";SPACE$(16);"reste: ";k$(dc,f); 6230 GOSUB 4830:GOSUB 4800:FOR i=1 TO 5 6240 PRINT#8,"I ";t$(dc,f,i);SPACE$(22-LEN(t$(dc,f,i)));t$(dc,f,i+5);SPACE$(22-LEN(t$(dc,f,i+5)));"I" 6250 NEXT i:PRINT#8,STRING$(48,"-"):GOSUB 4810 6990 GOTO 1000 7000 'Modification d'un Menu 7010 CLS:ft$="Modification d'un Menu":GOSUB 2100:GOSUB 2200 7020 GOSUB 7900:p=i:CLS#2:CLS#3:CLS#4:GOSUB 2400:GOSUB 7030:GOTO 7060 7030 CLS#2:LOCATE#2,4,2:PRINT#2,"Ancien Menu":LOCATE#2,2,4:PRINT#2,"Disque No: ";dc:LOCATE#2,2,6:PRINT#2,"Face :";f:LOCATE#2,2,8:PRINT#2,"Genre :";g$(dc,f) 7040 LOCATE#2,2,10:PRINT#2,"Format: ";fa$(dc,f):LOCATE#2,2,12:PRINT#2,"Reste: ";k$(dc,f) 7050 FOR i=1 TO i-1:LOCATE#2,35,i+1:PRINT#2,t$(dc,f,i):LOCATE#2,55,i+1:PRINT#2,f$(i):NEXT:RETURN 7060 RESTORE 11030:dx=0:dy=0:FOR dy=0 TO 3:FOR dx=0 TO 1 7070 LOCATE#3,4+(26*dx),3+(2*dy):READ b$:PRINT#3,b$:NEXT dx,dy 7080 m=2:cou=0:eff=1:choix=1:no=8:nc=2:x=220:dx=0:y=146:dy=0:ly=6:GOSUB 1200 7090 ON choix GOTO 7100,7200,7300,7400,7500,7600,7700,7990 7100 'changer le No du disque 7110 i=p:d=dc:fi$(i)="":g$(d,f)=g$(dc,f):fa$(d,f)=fa$(dc,f):k$(d,f)=k$(dc,f) 7120 FOR i=1 TO p:t$(d,f,i)=t$(dc,f,i):fi$(i)=f$(i):NEXT 7130 GOSUB 2500:dc=choix:g$(dc,f)=g$(d,f):fa$(dc,f)=fa$(d,f):k$(dc,f)=k$(d,f) 7140 FOR i=1 TO i-1:t$(dc,f,i)=t$(d,f,i):f$(i)=fi$(i):NEXT 7150 q=1:FOR q=i TO 10:t$(dc,f,q)="":NEXT 7160 GOSUB 7030 7170 g$(d,f)="":fa$(d,f)="":k$(d,f)="":q=1:FOR q=1 TO 10:t$(d,f,q)="":f$(q)="":NEXT 7190 CLS#3:GOTO 7060 7200 'annulation d'un titre 7210 i=p:CLS:CLS#2:CLS#3:CLS#4:GOSUB 2100:CAT:GOSUB 5160 7220 GOSUB 7030:CLS#3:LOCATE#3,6,6:PRINT#3,"Designez le titre a supprimer" 7230 m=1:cou=1:eff=0:choix=1:no=i-1:nc=1:x=260:dx=0:y=369:dy=0:ly=5:GOSUB 1200 7240 h=choix:t$(dc,f,h)="":f$(h)="" 7250 FOR h=h TO i-1:t$(dc,f,h)=t$(dc,f,h+1):t$(dc,f,i)=t$(dc,f,h):f$(h)=f$(h+1):f$(i)=f$(h):NEXT:i=i-1 7260 p=p-1:i=p:FOR i=i TO 10:t$(dc,f,i)="":f$(i)="":NEXT 7270 GOSUB 7030:CLS#3:GOTO 7060 7300 'changement de face 7310 i=p:fi=f:fi$(i)="":g$(dc,fi)=g$(dc,f):fa$(dc,fi)=fa$(dc,f):k$(dc,fi)=k$(dc,f) 7320 FOR i=1 TO p:t$(dc,fi,i)=t$(dc,f,i):fi$(i)=f$(i):NEXT 7330 GOSUB 2600:f=choix:g$(dc,f)=g$(dc,fi):fa$(dc,f)=fa$(dc,fi):k$(dc,f)=k$(dc,fi) 7340 FOR i=1 TO i-1:t$(dc,f,i)=t$(dc,fi,i):f$(i)=fi$(i):NEXT 7350 q=1:FOR q=i TO 10:t$(dc,f,q)="":NEXT 7360 GOSUB 7030 7370 g$(dc,fi)="":fa$(dc,fi)="":k$(dc,fi)="":q=1:FOR q=1 TO 10:t$(dc,fi,q)="":f$(q)="":NEXT 7380 CLS#3:GOTO 7060 7400 'ajouter un titre 7410 i=p:CLS:CLS#2:CLS#3:CLS#4:GOSUB 2100:CAT:GOSUB 5160 7420 CLS#3:LOCATE#3,2,1:PRINT#3,"Disque:";dc;" Face: ";f;" Genre:";g$(dc,f) 7430 LOCATE#3,38,7:PRINT#3,"Format:";fa$(dc,f):LOCATE#3,38,9:PRINT#3,"Reste :";k$(dc,f) 7440 FOR i=1 TO i-1:LOCATE#3,2+18*INT((i-1)/4),3+2*((i-1)MOD 4):PRINT#3,t$(dc,f,i):NEXT 7450 enregis=0:GOSUB 5410:CLS#2:CLS#3:CLS#4:GOSUB 2400:enregis=0:GOSUB 7030:GOTO 7060 7500 'changer le genre 7510 i=p:a$="":g$(dc,f)="" 7520 GOSUB 2700:a$=UPPER$(ge$(dx,dy)) 7530 g$(dc,f)=a$ 7540 GOSUB 7030:CLS#3:GOTO 7060 7600 'sauvegarde du nouveau menu 7610 ùERA,"donnees.":GOSUB 5700:i=p 7620 GOTO 1000 7700 'changer un fichier lanceur 7710 i=p:GOSUB 7030:CLS#3:LOCATE#3,6,6:PRINT#3,"Designez le fichier a changer" 7720 m=1:cou=1:eff=0:choix=1:no=i-1:nc=1:x=420:dx=0:y=369:dy=0:ly=4:GOSUB 1200 7730 i=choix:h=i:t$(dc,f,h)=t$(dc,f,i):f$(h)="" 7740 CLS:CLS#2:CLS#3:CLS#4:GOSUB 2100:CAT 7750 LOCATE#3,6,6:PRINT#3,"Nom du nouveau fichier":GOSUB 3600 7760 i=h:f$(i)=LOWER$(f$(j)):t$(dc,f,i)=t$(dc,f,h) 7770 i=p 7780 GOSUB 7030:CLS#3:GOSUB 2400:GOTO 7060 7880 GOTO 1000 7890 'ligne annulee 7900 OPENIN "donnees":INPUT#9,dc,f,i,g$(dc,f),fa$(dc,f),k$(dc,f) 7910 FOR i=1 TO i-1:INPUT#9,t$(dc,f,i),f$(i):NEXT:CLOSEIN:RETURN 7989 'retour menu pal 7990 GOTO 1000 8000 'Impression des catalogues 8010 CLS:ft$="Impression des Catalogues":GOSUB 2100:GOSUB 2200 8020 CLS:CLS#2:CLS#3:CLS#4:GOSUB 2100:CAT:GOSUB 2400 8030 LOCATE#3,20,1:PRINT#3,"Quel type d'impression ?" 8040 LOCATE#3,4,3:PRINT#3,"Catalogue Seul":LOCATE#3,4,5:PRINT#3,"Catalogue + Menu" 8050 m=2:cou=0:eff=1:choix=1:no=2:nc=1:x=220:dx=0:y=146:dy=0:ly=5:GOSUB 1200 8060 GOSUB 2800:PRINT#8,CHR$(15):'caractere de CRTL ecriture condensee 8070 CLS#4:ON choix GOTO 8200,8100 8100 'impression du menu 8110 GOSUB 7900 8120 CLS#3:LOCATE#3,2,1:PRINT#3,"Disque: ";dc;"Face: ";f;"Genre: ";g$(dc,f) 8130 FOR i=1 TO i-1:LOCATE#3,2+18*INT((i-1)/4),3+2*((i-1)MOD 4):PRINT#3,t$(dc,f,i):NEXT 8140 LOCATE#3,38,7:PRINT#3,"Format:";fa$(dc,f);:LOCATE#3,38,9:PRINT#3,"Reste:";k$(dc,f) 8150 PRINT#8,"Disque: ";dc;" Face: ";f;" Genre: ";g$(dc,f),"Format: ";fa$(dc,f) 8160 PRINT#8,"Titres","Fichiers lanceurs" 8170 FOR i=1 TO i-1:PRINT#8,TAB(10);t$(dc,f,i),f$(i):NEXT 8200 'impression du catalogue 8210 PRINT#8:PRINT#8,"Catalogue" 8220 FOR l=1 TO 13:a$="":ca$="" 8230 FOR c=1 TO 80:LOCATE#2,c,l:a$=COPYCHR$(#2):ca$=ca$+a$:NEXT c 8240 PRINT#8,ca$:NEXT l 8250 a$="":ca$="" 8990 PRINT#8,CHR$(18):GOTO 1000 9000 'Logitheque 9010 CLS:ft$="Logitheque":GOSUB 2100:CLS#3:CLS#4:GOSUB 2400 9020 LOCATE#3,2,1:PRINT#3,"Consultation de la logitheque" 9030 RESTORE 11040:dx=0:dy=0:FOR dy=0 TO 2:FOR dx=0 TO 1 9040 LOCATE#3,4+(26*dx),3+(2*dy):READ b$:PRINT#3,b$:NEXT dx,dy 9050 m=2:cou=0:eff=1:choix=1:no=6:nc=2:x=220:dx=0:y=146:dy=0:ly=6:GOSUB 1200 9060 ON choix GOTO 9100,9200,9300,9400,9600,9700 9100 dc=1:'consultation disque par disque 9110 WHILE dc<50:GOSUB 9220 9120 CLS#3:LOCATE#3,4,3:PRINT#3,"Disque suivant":LOCATE#3,4,5:PRINT#3,"Retour Logitheque" 9130 m=2:cou=0:eff=1:choix=1:no=2:nc=1:x=230:dx=0:y=146:dy=0:ly=5:GOSUB 1200 9140 IF choix=1 THEN dc=dc+1:GOTO 9110 ELSE GOTO 9010 9150 WEND:GOTO 9010 9160 CLS#3:LOCATE#3,4,3:PRINT#3,"Disque suivant":LOCATE#3,4,5:PRINT#3,"Retour Logitheque" 9170 m=2:cou=0:eff=1:choix=1:no=2:nc=1:x=230:dx=0:y=146:dy=0:ly=5:GOSUB 1200 9180 IF choix=1 THEN dc=dc+1:GOTO 9110 ELSE GOTO 9010 9190 WEND:GOTO 9010 9200 'consultation par No de disque 9210 GOSUB 2500:dc=choix:GOSUB 9220:GOTO 9270 9220 CLS#2:LOCATE#2,2,2:PRINT#2,"Disque No: ";dc 9230 LOCATE#2,2,4:PRINT#2,"face 1":LOCATE#2,43,4:PRINT#2,"face 2" 9240 LOCATE#2,2,6:PRINT#2,"genre: ";g$(dc,1):LOCATE#2,2,8:PRINT#2,"format: ";fa$(dc,1):LOCATE#2,2,10:PRINT#2,"reste: ";k$(dc,1) 9250 LOCATE#2,43,6:PRINT#2,"genre: ";g$(dc,2):LOCATE#2,43,8:PRINT#2,"format: ";fa$(dc,2):LOCATE#2,43,10:PRINT#2,"reste: ";k$(dc,2) 9260 FOR i=1 TO 10:LOCATE#2,28,i+1:PRINT#2,t$(dc,1,i):LOCATE#2,66,i+1:PRINT#2,t$(dc,2,i):NEXT:RETURN 9270 CLS#3:LOCATE#3,4,3:PRINT#3,"Autre Disque":LOCATE#3,4,5:PRINT#3,"Retour Logitheque" 9280 m=2:cou=0:eff=1:choix=1:no=2:nc=1:x=230:dx=0:y=146:dy=0:ly=5:GOSUB 1200 9290 IF choix=1 THEN CLS#2:GOTO 9210 ELSE GOTO 9010 9300 'disques existants 9310 dc=1:c=1:l=1:FOR l=1 TO 5:FOR c=1 TO 10 9320 WHILE dc<10:LOCATE#2,2+8*(c-1),2*l:GOTO 9340:WEND 9330 LOCATE#2,1+8*(c-1),2*l 9340 PRINT#2,dc;:IF g$(dc,1)<>"" THEN PRINT#2,"fc 1" ELSE PRINT#2,"- -" 9350 LOCATE#2,5+8*(c-1),2*l+1:IF g$(dc,2)<>"" THEN PRINT#2,"fc 2" ELSE PRINT#2,"- -" 9360 dc=dc+1:NEXT c,l 9370 CLS#3:GOSUB 2820:GOTO 9010 9400 'tri par genre 9410 n=0:ge$(dx,dy)="":GOSUB 2700 9420 IF choix<12 THEN GOTO 9500 9430 CLS#4:LOCATE#4,2,2:LINE INPUT#4,"Genre:",ge$(dx,dy):ge$(dx,dy)=LEFT$(ge$(dx,dy),14) 9500 LOCATE#2,2,2:PRINT#2,"Les programmes correspondant au genre demande se trouve:";:PRINT#2,SPACE$(10) 9510 FOR dc=1 TO 50:FOR f=1 TO 2 9520 IF g$(dc,f)=UPPER$(ge$(dx,dy)) THEN n=n+1 ELSE GOTO 9550 9530 LOCATE#2,2+INT(((n-1)*2)/18)*19,((8+n)MOD 9)+4 9540 PRINT#2,"Disque:";dc;"Face:";f 9550 NEXT f,dc:dc=1:f=1 9560 IF n=0 THEN LOCATE#2,2,2:PRINT#2,"Il n'y a pas de programmes correspondant a ce genre dans Logitheque.." 9570 CLS#3:LOCATE#3,4,3:PRINT#3,"Autre genre":LOCATE#3,4,5:PRINT#3,"Retour Logitheque" 9580 m=2:cou=0:eff=1:choix=1:no=2:nc=1:x=230:dx=0:y=146:dy=0:ly=5:GOSUB 1200 9590 IF choix=1 THEN CLS#2:GOTO 9410 ELSE GOTO 9010 9600 'ko restants par disque 9610 dc=1:c=1:l=1:FOR l=1 TO 5:FOR c=1 TO 10 9620 WHILE dc<10:LOCATE#2,2+8*(c-1),2*l:GOTO 9640:WEND 9630 LOCATE#2,1+8*(c-1),2*l 9640 PRINT#2,dc;:PRINT#2,RIGHT$(k$(dc,1),4) 9650 LOCATE#2,5+8*(c-1),2*l+1:PRINT#2,RIGHT$(k$(dc,2),4) 9660 dc=dc+1:NEXT c,l 9670 CLS#3:GOSUB 2820:GOTO 9010 9700 'retour menu principal 9710 GOTO 1000 10000 'Sortie du programme 10010 CLS:ft$="Sortie du programme":GOSUB 2100 10020 CLS#2:LOCATE#2,2,4:PRINT#2,"Remettez la disquette contenant LOGITHEQUE.." 10030 LOCATE#2,2,8:PRINT#2,"Sinon une autre touche..":CALL &BB06 10040 GOSUB 2810 10050 ùERA,"logi." 10100 OPENOUT"logi" 10110 FOR dc=1 TO 50 10120 FOR f=1 TO 2 10130 WRITE#9,g$(dc,f),fa$(dc,f),k$(dc,f) 10140 FOR i=1 TO 10 10150 WRITE#9,t$(dc,f,i) 10160 NEXT i,f,dc 10170 CLOSEOUT 10200 CLS#2:LOCATE#2,2,4:PRINT#2,"Confirmez par (O)ui que votre travail sur LOGITHEQUE est termine..":CALL &BB18 10210 IF INKEY(34)=0 THEN MODE 1:NEW ELSE GOTO 1000 11000 DATA Modifier un CAT.,Imprimer une jaquette,Creer un MENU,Imprimer une etiquette,Modifier un MENU,Imprimer les CAT.,Logitheque,Sortir du programme 11010 DATA Effacer les.BAK,Renommer un fichier,Effacer un fichier,Retour MENU 11020 DATA Jeux d'Arcade,Tableur-Calc,Musique,Jeux de Role,Dessin A.O.,Utilitaires,Jeux de Strat.,Trait.de Texte,Programmes CPM,Copie Sauveg.,Divers,Autre 11030 DATA Changer le Numero,Annuler un Titre,Changer la Face,Ajouter un Titre,Changer le Genre,SAUVEGARDER,Changer un Fichier,Retour Menu 11040 DATA Disque par Disque,Numero de Disque,Disques existants,Genre des Disques,K.O. restants,Retour Menu |