home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 09 / einsteig / schalter.bas < prev    next >
Encoding:
BASIC Source File  |  1990-06-27  |  3.7 KB  |  101 lines

  1. '* ------------------------------------------------------- *
  2. '*                     SCHALTER.BAS                        *
  3. '*      Quick-Basic-Programm zum Schalten von Relais       *
  4. '*          (c) 1990 Florian Peters & TOOLBOX              *
  5. '* ------------------------------------------------------- *
  6.  
  7. DEF SEG = 0
  8.  ADR1 = PEEK(&H408): ADR2 = PEEK(&H409)
  9.  adr = ADR1 + 256 * ADR2
  10. DEF SEG
  11.  
  12. CLS
  13.  LOCATE 1, 29: PRINT "Stromversorgungs-Manager"
  14.   FOR I = 4 TO 77 STEP 10
  15.    LOCATE 6, I: PRINT ((I - 4) / 10) + 1; " "
  16.    LOCATE 7, I: PRINT CHR$(201) + CHR$(205) + CHR$(187)
  17.    LOCATE 8, I: PRINT CHR$(186) + " " + CHR$(186)
  18.    LOCATE 9, I: PRINT CHR$(199) + CHR$(196) + CHR$(182)
  19.    LOCATE 10, I: PRINT CHR$(186) + " " + CHR$(186)
  20.    LOCATE 11, I: PRINT CHR$(200) + CHR$(205) + CHR$(188)
  21.   NEXT I
  22.  LOCATE 8, 1: PRINT "OFF": LOCATE 10, 1: PRINT "ON"
  23.  LOCATE 15, 15
  24.  PRINT "Um zu schalten, ";
  25.  PRINT "bitte die entsprechende Taste drücken!"
  26.  LOCATE 18, 31: PRINT "Ende mit Taste <X>!"
  27.  GOSUB abfrage
  28.  
  29. warten:
  30.   a$ = INKEY$: IF a$ = "" THEN GOTO warten
  31.    GOSUB abfrage: GOTO warten
  32.  
  33. abfrage:
  34.   IF a$ = "x" OR a$ = "X" THEN OUT ard, 0: END
  35.   IF a$ = "1" THEN a = a + 1: IF a > 1 THEN a = 0
  36.   IF a$ = "2" THEN b = b + 1: IF b > 1 THEN b = 0
  37.   IF a$ = "3" THEN c = c + 1: IF c > 1 THEN c = 0
  38.   IF a$ = "4" THEN d = d + 1: IF d > 1 THEN d = 0
  39.   IF a$ = "5" THEN e = e + 1: IF e > 1 THEN e = 0
  40.   IF a$ = "6" THEN F = F + 1: IF F > 1 THEN F = 0
  41.   IF a$ = "7" THEN g = g + 1: IF g > 1 THEN g = 0
  42.   IF a$ = "8" THEN h = h + 1: IF h > 1 THEN h = 0
  43.  
  44.   IF a = 0 THEN LOCATE 8, 5: PRINT "█"_
  45.               : LOCATE 10, 5: PRINT " "
  46.   IF b = 0 THEN LOCATE 8, 15: PRINT "█"_
  47.               : LOCATE 10, 15: PRINT " "
  48.   IF c = 0 THEN LOCATE 8, 25: PRINT "█"_
  49.               : LOCATE 10, 25: PRINT " "
  50.   IF d = 0 THEN LOCATE 8, 35: PRINT "█"_
  51.               : LOCATE 10, 35: PRINT " "
  52.   IF e = 0 THEN LOCATE 8, 45: PRINT "█"_
  53.               : LOCATE 10, 45: PRINT " "
  54.   IF F = 0 THEN LOCATE 8, 55: PRINT "█"_
  55.               : LOCATE 10, 55: PRINT " "
  56.   IF g = 0 THEN LOCATE 8, 65: PRINT "█"_
  57.               : LOCATE 10, 65: PRINT " "
  58.   IF h = 0 THEN LOCATE 8, 75: PRINT "█"_
  59.               : LOCATE 10, 75: PRINT " "
  60.   IF a = 1 THEN LOCATE 10, 5: PRINT "█"_
  61.               : LOCATE 8, 5: PRINT " "
  62.   IF b = 1 THEN LOCATE 10, 15: PRINT "█"_
  63.               : LOCATE 8, 15: PRINT " "
  64.   IF c = 1 THEN LOCATE 10, 25: PRINT "█"_
  65.               : LOCATE 8, 25: PRINT " "
  66.   IF d = 1 THEN LOCATE 10, 35: PRINT "█"_
  67.               : LOCATE 8, 35: PRINT " "
  68.   IF e = 1 THEN LOCATE 10, 45: PRINT "█"_
  69.               : LOCATE 8, 45: PRINT " "
  70.   IF F = 1 THEN LOCATE 10, 55: PRINT "█"_
  71.               : LOCATE 8, 55: PRINT " "
  72.   IF g = 1 THEN LOCATE 10, 65: PRINT "█"_
  73.               : LOCATE 8, 65: PRINT " "
  74.   IF h = 1 THEN LOCATE 10, 75: PRINT "█"_
  75.               : LOCATE 8, 75: PRINT " "
  76.    'String umdrehen
  77.    umr$ = MID$(STR$(h), 2, 1) + MID$(STR$(g), 2, 1)_
  78.         + MID$(STR$(F), 2, 1) + MID$(STR$(e), 2, 1)
  79.    umr$ = umr$ + MID$(STR$(d), 2, 1) + MID$(STR$(c), 2, 1)_
  80.         + MID$(STR$(b), 2, 1) + MID$(STR$(a), 2, 1)
  81.  
  82.   GOSUB umrech: OUT adr, VAL(umr$): 'An Karte weiterleiten
  83.   LOCATE 20, 17: PRINT "Adresse:      ",, " Wert:      "
  84.   LOCATE 20, 17: PRINT "Adresse:"; adr,, " Wert:"; umr$
  85.    RETURN
  86.  
  87. umrech: ' Umrechen von Bin. nach Dez.
  88.   x = LEN(umr$) - 1: z = 1: s = 0
  89. nochmal:
  90.    IF MID$(umr$, z, 1) = "1" THEN GOTO probe
  91.   z = z + 1: x = x - 1
  92.    IF x < 0 THEN umr$ = STR$(s): RETURN
  93.   GOTO nochmal
  94. probe:
  95.   y = 2 ^ x: s = s + y: z = z + 1: x = x - 1
  96.    IF x < 0 THEN umr$ = STR$(s): RETURN
  97.   GOTO nochmal
  98.  
  99. '****************** Ende von SCHALTER.BAS ******************
  100.  
  101.