Borland TurboBASIC & TurboPASCAL stuff from 1998 when i started with programming...
[mirrors/Programs.git] / turbobasic / 3RD-PA.RTY / MENU.BAS
1 GOTO POKR
2
3 POKR :
4 SCREEN 8 : CLS
5 COLOR 14,1
6 RESTORE BARVY
7 BARVY :
8
9 DATA 8,7,15,15,7,8
10 FOR A=1 TO 6
11 READ C
12 LINE (A,A)-(640-A,A),C
13 LINE (A,106-A)-(640-A,106-A),C
14 LINE (A,A)-(A,106-A),C
15 LINE (640-A,A)-(640-A,106-A),C
16 LINE (A,110+A)-(640-A,110+A),C
17 LINE (A,200-A)-(640-A,200-A),C
18 LINE (A,110+A)-(A,200-A),C
19 LINE (640-A,110+A)-(640-A,200-A),C
20 NEXT A
21
22 DO
23 A$="TELEFON DIR exit HELP TELEF "
24 D=5:X=5:Y=17:C=14
25 GOSUB MENU
26 ON MENU GOSUB TELEFON,DIR,KONEC,HELP,LOAD
27 LOOP
28
29 '-----------------------------------------------------------------------------
30 TELEFON :
31 print "ahoj"
32 RETURN
33 '-----------------------------------------------------------------------------
34 DIR :
35
36 RETURN
37 '-----------------------------------------------------------------------------
38 KONEC :
39 print "stla\9f kl vesu Enter A CEKEJ "
40 end
41 '-----------------------------------------------------------------------------
42 HELP :
43 A$="Jste uzivatelem pocitacove site C&P NETWORK. Jste vybaven harddiskem se"
44 CALL ECHO (5,16,A$,13)
45 A$="softwarovym vybavenim. Mate k dispozici modem, takze muzete navazat"
46 CALL ECHO (7,17,A$,13)
47 A$="spojeni s jinym uzivatelem C&P NETWORK."
48 CALL ECHO (7,18,A$,13)
49 stop
50
51 CALL ANYKEY
52 CALL CLWD
53 RETURN
54 '-----------------------------------------------------------------------------
55 LOAD :
56 PRINT " DOBRY DEN DOVOLALI JSTE SE NA TEL.:56 18 243 "
57 LOCATE 9,23
58 PRINT " TADY TOMAS MUDRUNKA "
59
60
61 RETURN
62 '-----------------------------------------------------------------------------
63
64
65 END
66 '-----------------------------------------------------------------------------
67 ' podprogram ECHO
68 ' postupny tisk textu obsazeneho v retezcove promenne A$
69 ' na souradnice X a Y
70 ' barvou C
71
72 SUB ECHO(X,Y,A$,C)
73 COLOR C
74 LOCATE Y,X
75 FOR A=1 TO LEN(A$)
76 PRINT MID$ (A$,A,1);
77 SOUND 1200,.2
78 SOUND 900,.2
79 SOUND 600,.2
80 FOR I=1 TO 200
81 NEXT I
82 NEXT A
83 END SUB
84
85 '--------------------------------------------------------------------------
86
87 MENU :
88 ' PODPROGRAM 'MENU'
89
90 ' X a Y jsou textove souradnice menu-okna
91 ' A$ obsahuje text okna
92 ' D je pocet polozek (radku) v menu
93 ' W=1 - pouze vypis okna , W=0 - vypis i vyber z menu
94 ' C je barva okna
95 ' v promenne MENU podprogram vraci cislo zvolene polozky
96
97 L=LEN (A$)/D : MENU = 1 : M = MENU+.0001
98 COLOR C,9:LOCATE Y,X
99 PRINT CHR$(201);
100 FOR A=1 TO L+2 : PRINT CHR$(205); : NEXT A
101 PRINT CHR$ (187);
102 FOR A= 1 TO LEN(A$) STEP L
103 LOCATE Y+A/L+1,X
104 PRINT CHR$(186);" ";MID$(A$,A,L);" ";CHR$(186);
105 NEXT A
106 LOCATE Y+A/L+1,X: PRINT CHR$(200);
107 FOR A=1 TO L+2 : PRINT CHR$(205); : NEXT A
108 PRINT CHR$(188);
109 IF W=1 THEN W=0 : RETURN
110
111 DO
112 I$ = INKEY$
113 IF LEN(I$)=2 THEN IF ASC(MID$(I$,2,1))=72 THEN MENU = MENU - 1
114 IF LEN(I$)=2 THEN IF ASC(MID$(I$,2,1))=80 THEN MENU = MENU + 1
115 IF MENU < 1 THEN MENU = D
116 IF LEN(I$)=1 THEN IF ASC(I$)=13 THEN EXIT LOOP
117 IF MENU > D THEN MENU = 0 : EXIT LOOP
118 IF MENU <> M THEN LOCATE Y+M,X+L+2 : PRINT " ";:LOCATE Y+M,X+1 : PRINT " ";
119 IF MENU <> M THEN LOCATE Y+MENU,X+L+2:COLOR 11:PRINT CHR$(174);:LOCATE Y+MENU,X+1:PRINT CHR$(175);:COLOR C
120 M = MENU
121 LOOP
122 I=MENU
123 W=1:C=0:GOSUB MENU
124 MENU = I : COLOR 15
125 RETURN
126 '-----------------------------------------------------------------------------
127 SUB CLWD
128 'Clear window
129 FOR A=120 TO 190
130 LINE (8,A)-(632,A),0
131 NEXT A
132 END SUB
133 '-----------------------------------------------------------------------------
134 SUB ANYKEY
135 DO
136 IF INKEY$<>"" THEN EXIT LOOP
137 C=C+1:IF C>15 THEN C=1
138 COLOR C : LOCATE 24,55:PRINT "STLAC LIBOVOLNOU KLAVESU";
139 LOOP
140 END SUB
141 '-----------------------------------------------------------------------------
142
143 \1a
This page took 0.575955 seconds and 4 git commands to generate.