1
0
mirror of https://github.com/mbirth/gwbasic.git synced 2024-09-19 16:53:26 +01:00
gwbasic/UHR/UHR2.BAS

97 lines
2.6 KiB
QBasic
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

10 CLS
20 COLOR 15
30 PRINT"UHR.BAS by RoboCop"
40 PRINT
50 PRINT"W„hlen Sie eine Funktion:"
60 PRINT
70 PRINT"01 - Uhr"
80 PRINT"02 - Wecker"
90 PRINT"03 - Timer"
100 PRINT"04 - int. Uhr stellen"
110 PRINT"05 - int. Datum stellen"
120 PRINT
130 PRINT"Geben Sie die Kennziffer ein --->"
140 LOCATE 11,35:PRINT"--"
150 LOCATE 13,1:PRINT"--------------"
160 A=0
170 A$=INKEY$:IF A$="" THEN GOTO 170
180 IF A=0 THEN WAHL=VAL(A$)*10:LOCATE 11,35:PRINT A$
190 IF A=1 THEN WAHL=VAL(A$)+WAHL:LOCATE 11,36:PRINT A$
200 A=A+1
210 IF A=2 THEN GOTO 230
220 GOTO 170
230 REM
240 IF WAHL=1 THEN GOTO 320
250 IF WAHL=2 THEN
260 IF WAHL=3 THEN
270 IF WAHL=4 THEN GOTO 610
280 IF WAHL=5 THEN
290 LOCATE 13,1:PRINT"Falscheingabe!"
300 FOR Z=0 TO 9000:NEXT
310 LOCATE 1,1:A=-1:GOTO 30
320 REM WAHL=1
330 LOCATE 5,1:COLOR 31:PRINT"01 - Uhr"
340 FOR Z=0 TO 20000:NEXT
350 CLS
360 COLOR 14
370 A=0
380 A=A+1
390 H$=LEFT$(TIME$,2)
400 M$=MID$(TIME$,4,2)
410 S$=RIGHT$(TIME$,2)
420 H=VAL(H$)
430 M=VAL(M$)
440 S=VAL(S$)
450 MS=M+(S/100)
460 IF A=1 THEN V=S
470 IF V+1=60 THEN V=-1
480 IF V+1=S THEN GOTO 500
490 GOTO 380
500 LOCATE 12,36
510 IF S=15 OR S=45 THEN SOUND 500,1:GOTO 590
520 IF S=30 THEN SOUND 1000,1:GOTO 590
530 IF S=0 THEN SOUND 3000,1:GOTO 590
540 IF M=30 AND C=0 THEN SOUND 3000,10:C=C+1
550 IF M=60 AND D=0 THEN SOUND 1000,10:D=D+1
560 IF H=12 AND E=0 THEN SOUND 2000,10:E=E+1
570 IF H=0 AND F=0 THEN SOUND 2000,10:F=F+1
580 SOUND 2000,1
590 PRINT USING"##:##.##";H;MS
600 GOTO 370
610 REM int. Uhr stellen
620 LOCATE 8,1:COLOR 31:PRINT"04 - int. Uhr stellen"
630 FOR Z=0 TO 20000:NEXT Z
640 COLOR 15
650 CLS
660 PRINT"Interne Uhr stellen:"
670 PRINT
680 PRINT"Geben Sie die genaue Uhrzeit ein:"
690 PRINT" Format: HH:MM.SS (im 24h Format)"
700 PRINT
710 INPUT"Neue Uhrzeit: ",TIM$
720 T1$=LEFT$(TIM$,2)
730 T2$=MID$(TIM$,4,2)
740 T3$=RIGHT$(TIM$,2)
750 IF VAL(T1$)<0 OR VAL(T1$)>23 THEN GOTO 840
760 IF VAL(T2$)<0 OR VAL(T2$)>59 THEN GOTO 840
770 IF VAL(T3$)<0 OR VAL(T3$)>59 THEN GOTO 840
780 IF LEN(TIM$)<>8 THEN GOTO 840
790 IF MID$(TIM$,3,1)<>":" THEN GOTO 840
800 IF MID$(TIM$,6,1)<>"." THEN GOTO 840
810 LOCATE 6,15:COLOR 31:PRINT TIME$
820 COLOR 12:PRINT"Zeit gestellt!"
830 GOTO 10
840 REM Zeitstellerror!!!
850 CLS
860 COLOR 12
870 PRINT"LER *** FEHLER *** FEHLER *** FEHLER *** FEHLER *** FEHLER *** FEHLER *** FEH"
880 PRINT
890 PRINT"Beim Uhrstellen ist ein FEHLER aufgetreten!!!"
900 PRINT"Der Wert ";TIM$;" ist ung<6E>ltig !!!"
910 PRINT"Bitte geben Sie die Zeit nocheinmal ein."
920 PRINT
930 COLOR 10:PRINT"Mit Tastendruck geht's weiter"
940 A$=INKEY$:IF A$="" THEN 940
950 COLOR 15
960 GOTO 650