10 '******************************
20 '* * 30 '* D I S C O T H E Q U E * 40 '* * 50 '****************************** 60 '*De Gregory NOE pour AMSTRAD* 70 '****************************** 80 KEY 138,"ink 1,18:mode 2:list"+CHR$(13) 90 MODE 2 100 BORDER 6 110 DIM t$(100),c$(100,12),a$(100),p$(100) 120 SYMBOL AFTER 56:SYMBOL 91,0,56,108,56,0,0,0,0 130 '---------------- 140 ' * MENU * 150 '---------------- 160 INK 1,24:INK 0,1 170 WINDOW #1,2,79,25,26 180 WINDOW #2,1,80,1,4 190 WINDOW #3,1,1,4,24 200 WINDOW #4,80,80,4,24 210 WINDOW 3,78,4,24 220 FOR I=1 TO 80:LOCATE#2,I,1:PRINT#2,CHR$(131);:NEXT I 230 LOCATE#2,3,2:PRINT#2,">D.I.S.C.O.T.H.E.Q.U.E..............G. NOE" 240 FOR I=1 TO 80:LOCATE#2,I,3:PRINT#2,CHR$(140);:NEXT I 250 LOCATE#2,1,1:PRINT#2,CHR$(138):LOCATE#2,1,2:PRINT#2,CHR$(138):LOCATE#2,1,3:PRINT#2,CHR$(130) 260 LOCATE#2,80,1:PRINT#2,CHR$(133):LOCATE#2,80,2:PRINT#2,CHR$(133):LOCATE#2,80,3:PRINT#2,CHR$(129) 270 PAPER 1:PEN 0 280 FOR i=1 TO 22:PRINT#3,CHR$(215):PRINT#4,CHR$(214):NEXT 290 CLS:CLS#1:LOCATE #2,68,2:PRINT#2,"ALBUM:";a:CLS:LOCATE 14,2:PRINT "VOUS POUVEZ CHOISIR ENTRE..." 300 LOCATE 28,5:PRINT"1/ ENTRER UN NOUVEAU DISQUE" 310 LOCATE 28,7:PRINT"2/ RECHERCHER UN ALBUM" 320 LOCATE 28,9:PRINT "3/ CHARGER UN FICHIER" 330 LOCATE 28,11:PRINT "4/ SAUVEGARDER UN FICHIER" 340 LOCATE 28,13:PRINT "5/ MODIFIER" 350 LOCATE 28,15:PRINT"6/ FIN" 360 LOCATE 25,18:PRINT"VOTRE CHOIX:?":a$=INKEY$:IF a$<>"" THEN 370 ELSE 360 370 SOUND 1,132,17,5,4,2:IF a$<"1" OR a$>"6" THEN 360 380 IF a=0 AND a$<>"1" AND a$<>"3" AND a$<>"6" THEN CLS:LOCATE 6,12:PRINT"VOUS N'AVEZ ENCORE AUCUNE FICHE !!!":GOTO 280 390 ON VAL(a$)GOTO 410,1170,810,1020,720,1750 400 '------------------------ 410 ' * ENTREE FICHES * 420 '------------------------ 430 CLS:LOCATE #2,68,2:PRINT#2,"ALBUM:";a 440 a=a+1:CLS 450 IF a>100 THEN 1820 460 GOSUB 1660 470 LOCATE 66,1:PRINT"ALBUM N[";a 480 LOCATE 2,3:PRINT"TITRE DE L'ALBUM:.................................." 490 LOCATE 2,5:PRINT "NOM DE L'INTERPRETE :..............." 500 LOCATE 2,7:PRINT"PRENOM DE L'INTERPRETE:............... " 510 LOCATE 10,10:PRINT"FACE A":LOCATE 50,10:PRINT"FACE B" 520 FOR i=1 TO 6:LOCATE 2,i+11:PRINT i;"..............................":LOCATE 42,i+11:PRINT i;".............................." 530 NEXT 540 LOCATE 19,3:LINE INPUT t$(a):IF LEN(t$(a))>35 THEN 540:t$(a)=UPPER$(t$(a)):CLS#1:GOTO 570 550 IF t$(a)="" THEN a=a-1:GOTO 290 560 IF LEN(t$(a))>35 THEN 540 ELSE t$(a)=UPPER$(t$(a)):CLS#1:GOTO 570 570 LOCATE 25,5:LINE INPUT a$(a):IF LEN(a$(a))>15 THEN 570 ELSE a$(a)=UPPER$(a$(a)) 580 LOCATE 25,7:LINE INPUT p$(a):IF LEN(p$(a))>15 THEN 500 ELSE p$(a)=UPPER$(p$(a)) 590 FOR c=1 TO 6:LOCATE 5,c+11:LINE INPUT c$(a,c) 600 IF LEN(c$(a,c))>30 THEN c$(a,c)=LEFT$(c$(a,c),30) 610 c$(a,c)=UPPER$(c$(a,c)) 620 NEXT c 630 FOR c=7 TO 12:LOCATE 45,c+5:LINE INPUT c$(a,c):IF LEN(c$(a,c))>30 THEN c$(a,c)=LEFT$(UPPER$(c$(a,c)),30) 640 c$(a,c)=UPPER$(c$(a,c)):NEXT 650 CLS:LOCATE 2,5:PRINT"Confirmez-vous (O/N)":INPUT k$ 660 SOUND 1,234:k$=UPPER$(k$):IF LEFT$(k$,1)="O" THEN GOTO 430 ELSE 670 670 CLS:LOCATE 3,8:PRINT"VEUILLEZ LE RENTRER A NOUVEAU":FOR i=1 TO 2000:NEXT:CLS 680 GOTO 460 690 '------------------------ 700 ' * MODIFICATION * 710 '------------------------ 720 CLS:LOCATE 4,10:PRINT"POUR MODIFIER UN ALBUM IL FAUT L'EFFACER ET LE RENTRER A NOUVEAU":FOR i=1 TO 2000:NEXT 730 v=0:CLS:GOSUB 1660:LOCATE 2,5:PRINT "MODIFICATION":LOCATE 4,7:PRINT "ENTREZ LE NOM DE L'ALBUM A MODIFIER: ";:LINE INPUT n$:h=LEN(n$):nn$=UPPER$(LEFT$(n$,h)):IF N$="" THEN 290 740 CLS#1:FOR i=1 TO a:k$(i)=t$(i):NEXT 750 v=1:GOTO 1680 760 v=0:CLS#1:LOCATE 15,21:PRINT" ":LOCATE 5,20:PRINT"EFFACEZ-VOUS CET ALBUM ?":INPUT N$:N$=LEFT$(UPPER$(N$),1):IF N$="O" THEN 770 ELSE 730 770 FOR i=m TO a:t$(i)=t$(i+1):a$(i)=a$(i+1):p$(i)=p$(i+1):FOR c=1 TO 12:c$(i,c)=c$(i+1,c):t$(a)="":NEXT c:NEXT i:a=a-1 780 CLS:LOCATE #2,74,2:PRINT#2,a:LOCATE 32,12:PRINT"ALBUM EFFACE":FOR i=1 TO 2000:NEXT i:GOTO 430 790 '------------------------- 800 ' * LECTURE D'UN FICHIER * 810 '------------------------- 820 CLS:LOCATE 2,3:PRINT"CONFIRMEZ-VOUS?":INPUT h$:h$=LEFT$(UPPER$(h$),1):IF h$<>"O" THEN 290 830 ERASE T$,C$,A$,p$:DIM A$(100),C$(100,12),t$(100),p$(100) 840 CLS:LOCATE 25,3:PRINT"LECTURE D'UN FICHIER:" 850 LOCATE 28,9:LINE INPUT "NOM DU FICHIER: ",fich$ 860 CLS:LOCATE 12,15:PRINT"Preparez le magnetophone et appuyez une touche":CALL &BB04 870 fich$="!"+fich$ 880 CLS:LOCATE 2,17:PRINT"VEUILLEZ PATIENTER..." 890 LOCATE 2,17:OPENIN fich$ 900 INPUT #9,a,fich$ 910 FOR g=1 TO a 920 INPUT #9,t$(g),a$(g),p$(g) 930 FOR c=1 TO 12:INPUT #9,c$(g,c):NEXT c:NEXT g 940 CLS:LOCATE 2,17:PRINT"VEUILLEZ PATIENTER..." 950 CLOSEIN 960 CLS:LOCATE 12,15:PRINT"IL Y A ";a;" ALBUMS." 970 FOR i=1 TO 2500:NEXT:GOTO 290 980 GOTO 290 990 '----------------------------- 1000 ' * SAUVEGARDE D'UN FICHIER * 1010 '----------------------------- 1020 CLS:LOCATE 2,3:PRINT"CONFIRMEZ-VOUS?":INPUT h$:h$=LEFT$(UPPER$(h$),1):IF h$<>"O" THEN 290 1030 CLS:LOCATE 25,5:PRINT"ENREGISTREMENT SUR CASSETTE:" 1040 LOCATE 1,7:PRINT CHR$(18):LOCATE 22,9:PRINT "Preparez une Cassette vierge,avec" 1050 LOCATE 24,11:PRINT"amorce avance." 1060 LOCATE 27,15:INPUT "NOM DU FICHIER: ",FICH$ 1070 fich$="!"+fich$ 1080 CLS:LOCATE 5,12:PRINT"VEUILLEZ PATIENTER..." 1090 POKE &B8D1,0:POKE &B8D2,29:LOCATE 2,18:OPENOUT fich$ 1100 WRITE #9,a,fich$ 1110 FOR g=1 TO a 1120 WRITE #9,t$(g),a$(g),p$(g) 1130 FOR c=1 TO 12:WRITE #9,c$(g,c):NEXT c:NEXT g 1140 CLS:LOCATE 5,12:PRINT"VEUILLEZ PATIENTER..." 1150 CLOSEOUT 1160 GOTO 290 1170 '------------------------ 1180 ' * RECHERCHE * 1190 '------------------------ 1200 n=0 1210 GOSUB 1660 1220 CLS:LOCATE 30,3:PRINT"RECHERCHE":LOCATE 29,4:PRINT"-----------" 1230 LOCATE 28,7:PRINT"1/ PAR INTERPRETE":LOCATE 28,9:PRINT"2/ PAR ALBUM":LOCATE 28,11:PRINT"3/ PAR MORCEAU" 1240 LOCATE 30,14:PRINT"A VOTRE CHOIX ?" 1250 k$=INKEY$:IF INKEY(18)=0 THEN 290 ELSE IF k$<"1" OR k$>"3" THEN 1250 1260 SOUND 1,235 1270 CLS#1 1280 ON VAL(k$) GOTO 1290,1360,1460 1290 '======================== 1300 'Recherche par interprete 1310 '======================== 1320 CLS:LOCATE 8,2:PRINT"Recherche par interprete" 1330 LOCATE 2,4:LINE INPUT"ENTREZ LES PREMIERES LETTRES DE SON NOM:";n$:h=LEN(n$):nn$=UPPER$(LEFT$(n$,h)) 1340 FOR i=1 TO a:k$(i)=a$(i):NEXT i 1350 GOTO 1680 1360 '==================== 1370 ' Recherche par album 1380 '===================== 1390 CLS:LOCATE 8,2:PRINT"Recherche par album" 1400 LOCATE 2,4:LINE INPUT"ENTREZ LES PREMIERES LETTRES DE CET ALBUM: ";n$:h=LEN(n$):nn$=UPPER$(LEFT$(n$,h)) 1410 FOR i=1 TO a:k$(i)=t$(i):NEXT i 1420 GOTO 1680 1430 '======================= 1440 ' Recherche par morceau 1450 '======================= 1460 CLS:LOCATE 8,2:PRINT"Recherche par morceau" 1470 LOCATE 2,4:LINE INPUT"ENTREZ LES PREMIERES LETTRES DE CE MORCEAU: ";n$:h=LEN(n$):nn$=UPPER$(LEFT$(n$,h)) 1480 FOR m=1 TO a:FOR c=1 TO 12 1490 k$=LEFT$(c$(m,c),h) 1500 IF k$=nn$ THEN GOSUB 1570 1510 IF l=0 THEN NEXT c ELSE 1520 1520 l=0:NEXT m 1530 IF n=0 THEN 1540 ELSE GOTO 1180 1540 CLS:LOCATE 3,3:PRINT"* '";n$;"' n'appartient pas a":LOCATE 5,8:PRINT"mon fichier":FOR i=1 TO 2000:NEXT i:GOTO 1180 1550 '--------------------------- 1560 ' * AFFICHAGE D'UNE FICHE * 1570 '--------------------------- 1580 CLS:n=1:l=1:LOCATE 66,1:PRINT"ALBUM N[";m 1590 LOCATE 2,3:PRINT"TITRE DE L'ALBUM:";T$(M) 1600 LOCATE 2,5:PRINT"INTERPRETE:";p$(m);" ";A$(M):LOCATE 2,7:PRINT"MORCEAUX:" 1610 LOCATE 6,9:PRINT"Face A":LOCATE 50,9:PRINT"Face B" 1620 FOR u=1 TO 6:LOCATE 4,U+10:PRINT c$(m,u):NEXT 1630 FOR u=7 TO 12:LOCATE 44,U+4:PRINT c$(m,u):NEXT u:LOCATE 15,21:PRINT"TAPEZ UNE TOUCHE" 1640 CALL &BB06:n=1 1650 '--------------------------- 1660 PAPER #1,0:PEN#1,1:LOCATE#1,46,2:PRINT#1,"POUR REVENIR AU MENU --->'ENTER'":RETURN 1670 '--------------------------- 1680 n=0:FOR m=1 TO a 1690 k$=LEFT$(k$(m),h) 1700 IF k$=nn$ THEN GOSUB 1580 1710 IF v=1 AND n=1 THEN 760:IF v=0 AND n=1 THEN 1730 1720 NEXT m 1730 IF v=0 AND n=1 THEN 1190 ELSE IF v=1 AND n=1 THEN 760 1740 CLS:LOCATE 3,3:PRINT"* '";n$;"' n'appartient pas a":LOCATE 5,8:PRINT"mon fichier":FOR i=1 TO 2000:NEXT i:IF v=1 THEN 730 ELSE 1190 1750 '------------------------- 1760 ' F I N 1770 '------------------------- 1780 CLS:LOCATE 28,12:PRINT"O N F E R M E !":FOR i=1 TO 1500:NEXT:PAPER 0:CLS 1790 CLS#1:CLS#3:CLS#4:GOSUB 1800:CLS#2:GOSUB 1800:GOTO 1810 1800 FOR i=1 TO 2000:NEXT:RETURN 1810 MODE 1:INK 0,24:PEN 3:END 1820 CLS:LOCATE 13,8:PRINT"FICHIER PLEIN...":FOR i=1 TO 2500:NEXT:GOTO 290 |