home *** CD-ROM | disk | FTP | other *** search
- '* ------------------------------------------------------- *
- '* SCHALTER.BAS *
- '* Quick-Basic-Programm zum Schalten von Relais *
- '* (c) 1990 Florian Peters & TOOLBOX *
- '* ------------------------------------------------------- *
-
- DEF SEG = 0
- ADR1 = PEEK(&H408): ADR2 = PEEK(&H409)
- adr = ADR1 + 256 * ADR2
- DEF SEG
-
- CLS
- LOCATE 1, 29: PRINT "Stromversorgungs-Manager"
- FOR I = 4 TO 77 STEP 10
- LOCATE 6, I: PRINT ((I - 4) / 10) + 1; " "
- LOCATE 7, I: PRINT CHR$(201) + CHR$(205) + CHR$(187)
- LOCATE 8, I: PRINT CHR$(186) + " " + CHR$(186)
- LOCATE 9, I: PRINT CHR$(199) + CHR$(196) + CHR$(182)
- LOCATE 10, I: PRINT CHR$(186) + " " + CHR$(186)
- LOCATE 11, I: PRINT CHR$(200) + CHR$(205) + CHR$(188)
- NEXT I
- LOCATE 8, 1: PRINT "OFF": LOCATE 10, 1: PRINT "ON"
- LOCATE 15, 15
- PRINT "Um zu schalten, ";
- PRINT "bitte die entsprechende Taste drücken!"
- LOCATE 18, 31: PRINT "Ende mit Taste <X>!"
- GOSUB abfrage
-
- warten:
- a$ = INKEY$: IF a$ = "" THEN GOTO warten
- GOSUB abfrage: GOTO warten
-
- abfrage:
- IF a$ = "x" OR a$ = "X" THEN OUT ard, 0: END
- IF a$ = "1" THEN a = a + 1: IF a > 1 THEN a = 0
- IF a$ = "2" THEN b = b + 1: IF b > 1 THEN b = 0
- IF a$ = "3" THEN c = c + 1: IF c > 1 THEN c = 0
- IF a$ = "4" THEN d = d + 1: IF d > 1 THEN d = 0
- IF a$ = "5" THEN e = e + 1: IF e > 1 THEN e = 0
- IF a$ = "6" THEN F = F + 1: IF F > 1 THEN F = 0
- IF a$ = "7" THEN g = g + 1: IF g > 1 THEN g = 0
- IF a$ = "8" THEN h = h + 1: IF h > 1 THEN h = 0
-
- IF a = 0 THEN LOCATE 8, 5: PRINT "█"_
- : LOCATE 10, 5: PRINT " "
- IF b = 0 THEN LOCATE 8, 15: PRINT "█"_
- : LOCATE 10, 15: PRINT " "
- IF c = 0 THEN LOCATE 8, 25: PRINT "█"_
- : LOCATE 10, 25: PRINT " "
- IF d = 0 THEN LOCATE 8, 35: PRINT "█"_
- : LOCATE 10, 35: PRINT " "
- IF e = 0 THEN LOCATE 8, 45: PRINT "█"_
- : LOCATE 10, 45: PRINT " "
- IF F = 0 THEN LOCATE 8, 55: PRINT "█"_
- : LOCATE 10, 55: PRINT " "
- IF g = 0 THEN LOCATE 8, 65: PRINT "█"_
- : LOCATE 10, 65: PRINT " "
- IF h = 0 THEN LOCATE 8, 75: PRINT "█"_
- : LOCATE 10, 75: PRINT " "
- IF a = 1 THEN LOCATE 10, 5: PRINT "█"_
- : LOCATE 8, 5: PRINT " "
- IF b = 1 THEN LOCATE 10, 15: PRINT "█"_
- : LOCATE 8, 15: PRINT " "
- IF c = 1 THEN LOCATE 10, 25: PRINT "█"_
- : LOCATE 8, 25: PRINT " "
- IF d = 1 THEN LOCATE 10, 35: PRINT "█"_
- : LOCATE 8, 35: PRINT " "
- IF e = 1 THEN LOCATE 10, 45: PRINT "█"_
- : LOCATE 8, 45: PRINT " "
- IF F = 1 THEN LOCATE 10, 55: PRINT "█"_
- : LOCATE 8, 55: PRINT " "
- IF g = 1 THEN LOCATE 10, 65: PRINT "█"_
- : LOCATE 8, 65: PRINT " "
- IF h = 1 THEN LOCATE 10, 75: PRINT "█"_
- : LOCATE 8, 75: PRINT " "
- 'String umdrehen
- umr$ = MID$(STR$(h), 2, 1) + MID$(STR$(g), 2, 1)_
- + MID$(STR$(F), 2, 1) + MID$(STR$(e), 2, 1)
- umr$ = umr$ + MID$(STR$(d), 2, 1) + MID$(STR$(c), 2, 1)_
- + MID$(STR$(b), 2, 1) + MID$(STR$(a), 2, 1)
-
- GOSUB umrech: OUT adr, VAL(umr$): 'An Karte weiterleiten
- LOCATE 20, 17: PRINT "Adresse: ",, " Wert: "
- LOCATE 20, 17: PRINT "Adresse:"; adr,, " Wert:"; umr$
- RETURN
-
- umrech: ' Umrechen von Bin. nach Dez.
- x = LEN(umr$) - 1: z = 1: s = 0
- nochmal:
- IF MID$(umr$, z, 1) = "1" THEN GOTO probe
- z = z + 1: x = x - 1
- IF x < 0 THEN umr$ = STR$(s): RETURN
- GOTO nochmal
- probe:
- y = 2 ^ x: s = s + y: z = z + 1: x = x - 1
- IF x < 0 THEN umr$ = STR$(s): RETURN
- GOTO nochmal
-
- '****************** Ende von SCHALTER.BAS ******************
-
-