-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathKALENDER.bc
181 lines (181 loc) · 5.28 KB
/
KALENDER.bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
1000 A=500:GOTO20:REM VAK. EN ROOSTERVRIJ KALENDER
1010 DIMMA(12),MA$(12),DA$(7),SR$(14)
1015 IFSV<35 THENDIMCC(1):REM COMPATIBILITEIT
1020 GOSUB2010:REM INLEIDING
1030 GOSUB100
1040 CT=4:CN=0:SR=JJ:GOSUB310:PRINTSR$;
1050 PRINT" 1111111111222222222233"
1060 PRINT" 1234567890123456789012345678901"
1070 GOSUB3010
1080 PRINT
1090 PRINT" * = zaterdag en zon/feestdag"
1100 PRINT" V = vakantie R = roostervrij"
1110 PRINT" Z = ziek enz."
1120 PRINT
1130 PRINT"Cursor verplaatsen en teken intoetsen."
1140 PRINT"Einde = #"
1150 HO=5:VE=2:GOSUB110
1160 GOSUB210
1170 IFIN=35 THEN1290
1180 IFIN=28 THENHO=HO-1:GOTO1230
1190 IFIN=29 THENHO=HO+1:GOTO1230
1200 IFIN=30 THENVE=VE+1:GOTO1230
1210 IFIN=31 THENVE=VE-1:GOTO1230
1220 PRINTIN$;:GOSUB110:GOTO1160
1230 IFHO>34 THENHO=34
1240 IFHO<4 THENHO=4
1250 IFVE>14 THENVE=14
1260 IFVE<2 THENVE=2
1270 GOSUB110:GOTO1160
1280 REM SLOTREGEL
1290 HO=0:VE=21:GOSUB110
1300 PRINT"E = einde , P =printer , Q = save"
1310 GOSUB210
1320 IFIN=69 THEN950:REM E
1330 IFIN=80 THEN GOSUB6010:GOTO1290:REM P
1340 IFIN=81 THEN GOSUB5010:GOTO1290:REM Q
1350 GOTO1290
1360 REM
2000 REM INLEIDING
2010 PRINT:PRINT" Ben|tigen Sie Hinweise? ";
2020 GOSUB210:IFIN=78 THENPRINT:GOTO2120
2030 IFIN<>74 THEN2010
2040 PRINT:PRINT
2050 PRINT"Met dit programma kunt u zelf uw"
2060 PRINT"vakantie en/of roostervrije dagen"
2070 PRINT"plannen."
2080 PRINT"U ziet een schema van het door u"
2090 PRINT"gewenste jaar waarin de zaterdagen,"
2100 PRINT"zon/feestdagen al zijn ingevuld."
2110 PRINT"Aan u de rest.":PRINT
2112 PRINT"Zur Hilfe: vakantie = Urlaub/Ferien"
2114 PRINT" roostervrij = arbeitsfrei"
2116 PRINT" ziek = krank"
2118 PRINT" enz. = usw."
2120 HO=0:VE=21:GOSUB110
2130 PRINT"Vorheriges Schema einlesen J/N ";
2140 GOSUB210
2150 IFIN=74 THEN GOSUB100:GOSUB4010:GOTO1080
2160 IFIN<>78 THEN GOSUB250:GOTO2140
2170 PRINT:PRINT" Welches Jahr ";
2180 INPUTJJ:IF(JJ<1900)OR(JJ>2100)THEN2170
2190 RETURN
3000 REM SCHEMA
3010 FORX=1 TO12:READMA(X):NEXTX
3020 FORX=1 TO7:READDA$(X):NEXTX
3030 FORX=1 TO12:READMA$(X):NEXTX
3040 FORMN=1 TO12
3050 PRINTMA$(MN);
3060 FORD=1 TOMA(MN)
3070 J=JJ
3080 M=MN
3090 IFM<=2 THENM=M+12:J=J-1
3100 A=INT(J/100)-INT(J/400)
3110 B=D+2*M+INT((3*M+3)/5)+J+INT(J/4)-A+1
3120 R=B-7*INT(B/7)
3130 D$=DA$(R+1)
3140 IF(D$="zondag")OR(D$="zaterdag")THENPRINT"*";:GOTO3160
3150 PRINT" ";
3160 NEXTD
3170 PRINT:NEXTMN
3180 REM FEESTDAGEN
3190 A=J-19*INT(J/19):B=INT(J/100)
3200 C=J-100*B:D=INT(B/4)
3210 E=B-4*D:F=INT((B+8)/25)
3220 G=INT((B-F+1)/3)
3230 H=INT(19*A+B-D-G+15)-30*INT((19*A+B-D-G+15)/30)
3240 I=INT(C/4):K=C-(4*I)
3250 L=INT(32+2*E+2*I-H-K)-7*INT((32+2*E+2*I-H-K)/7)
3260 M=INT((A+11*H+22*L)/451)
3270 M1=H+L-7*M+114:N=INT(M1/31)
3280 NP=31*N:P=M1-NP:PA=P+1
3290 HV=PA+39:HV$=MA$(5)
3300 IF(PA=22)AND(N=3)THENHV=PA+8:HV$=MA$(4)
3310 IF(N=3)AND(PA>22)THENHV=HV-61
3320 IFN=4 THENHV=PA+9
3330 P1=HV+10:P1$=MA$(5)
3340 IF(HV=30)AND(HV$=MA$(4))THENP1=HV-20:P1$=MA$(5)
3350 IF(HV>21)AND(HV$=MA$(5))THENP1=HV-21:P1$=MA$(6)
3360 IFHV<22 THENP1=HV+10:P1$=MA$(5)
3370 IF(HV<22)AND(N=4)AND(PA>22)THENP1$=MA$(6)
3380 IFN=3 THENA$=MA$(3)
3390 IFN=4 THENA$=MA$(4)
3400 REM 2E PAASDAG
3410 FORX=3 TO6:IFA$=MA$(X)THEN3430
3420 NEXTX
3430 IFPA=MA(X)THENHO=4:VE=X+2:GOTO3450
3440 HO=PA+4:VE=X+1
3450 GOSUB110:PRINT"*";
3460 REM HEMELVAART
3470 X=3
3480 IFHV$=MA$(X)THEN3500
3490 X=X+1:IFX<7 THEN3480
3500 HO=HV+3:VE=X+1:IFHO>34 THENHO=4:VE=X+2
3505 GOSUB110:PRINT"*";
3510 REM 2E PINKSTERDAG
3520 X=3
3530 IFP1$=MA$(X)THEN3550
3540 X=X+1:IFX<7 THEN3530
3550 IFP1=MA(X)THENHO=4:VE=X+2:GOTO3570
3560 HO=P1+4:VE=X+1
3570 GOSUB110:PRINT"*";
3580 REM 1 JANUARI
3590 HO=4:VE=2:GOSUB110:PRINT"*";
3600 REM KERSTMIS
3610 HO=28:VE=13:GOSUB110:PRINT"*";
3620 HO=29:VE=13:GOSUB110:PRINT"*";
3630 HO=5:VE=14:GOSUB110:PRINT" ":RETURN
4000 REM LOAD
4010 GOSUB110:PRINT"0=BASICODE-TAPE 4=DISKETTE "
4020 GOSUB210:IFIN=48 THENNF=0:GOTO4050
4030 IFIN=52 THENNF=4:GOTO4050
4040 GOSUB250:GOTO4020
4050 GOSUB100
4060 NF$="vakroos":GOSUB500
4070 GOSUB540:PRINTIN$
4080 IFIN<>1 THEN4070
4090 GOSUB580
4100 RETURN
5000 REM SAVE
5010 GOSUB110:PRINT"1=BASICODE-TAPE 5=DISKETTE "
5020 GOSUB210:IFIN=49 THENNF=1:GOTO5050
5030 IFIN=53 THENNF=5:GOTO5050
5040 GOSUB250:GOTO5020
5050 GOSUB110:PRINT"Geduld bitte ... "
5060 NF$="vakroos":GOSUB500
5070 FORVE=0 TO13:SR$=""
5080 FORHO=0 TO40
5090 GOSUB220:SR$=SR$+CHR$(IN)
5100 NEXTHO
5110 GOSUB560
5120 NEXTVE
5130 GOSUB580
5140 RETURN
6000 REM PRINTER
6010 FORVE=0 TO19:SR$=""
6020 FORHO=0 TO40
6030 GOSUB220:SR$=SR$+CHR$(IN)
6040 NEXTHO
6050 GOSUB350:GOSUB360
6060 NEXTVE
6070 GOSUB250:GOSUB250:GOSUB250
6080 RETURN
6090 REM
25000 DATA 31,29,31,30,31,30,31,31,30,31,30,31
25010 DATA "Sonntag","Montag","Dienstag","Mittwoch"
25020 DATA "Donnerstag","Freitag","Samstag"
25030 DATA "JAN ","FEB ","MRT ","APR ","MAI ","JUN "
25040 DATA "JUL ","AUG ","SEP ","OKT ","NOV ","DEZ "
25050 REM
32000 REM *******************
32010 REM TON V.D. LAAR
32020 REM ERICA 31
32030 REM 5091 EC MIDDELBEERS
32040 REM
32050 REM TRS-80 COLOR-COMPUTER
32060 REM JUNI - 1991
32070 REM *******************
32080 REM
32090 REM TROS-RADIO DD 911016
32100 REM DS-Kultur
32110 REM-spezial 911211