DECLARE SUB Eingabe (x!, y!, t$, p!, b!, z$, r$) COLOR 7, 1 CLS FOR I = 32 TO 255 allzeich$ = allzeich$ + CHR$(I) NEXT I a1$ = "Zeile 1" a2$ = "Zeile 2" a3$ = "Zeile 3" LOCATE 2, 29: PRINT "Demo zu "; CHR$(34); "EINGABE.BAS"; CHR$(34) LOCATE 3, 29: PRINT "=====================" GOSUB einezeile COLOR 7, 1 LOCATE 9, 3: PRINT "Auch gr”áere Felder sind m”glich: (Ende mit ESC)" GOSUB dreizeilen CLS END einezeile: LOCATE 5, 10: PRINT "Hier sind alle Zeichen erlaubt: "; : COLOR 7, 0: PRINT " " Eingabe 42, 5, a$, 1, 10, allzeich$, zurueck$ COLOR 7, 1 a$ = "" LOCATE 6, 10: PRINT " und hier nur Zahlen: "; : COLOR 7, 0: PRINT " " Eingabe 42, 6, a$, 1, 10, "1234567890", zurueck$ RETURN GOSUB dreizeilen END dreizeilen: COLOR 7, 1 LOCATE 13, 5: PRINT "Text 1: "; : COLOR 7, 0: PRINT " ": COLOR 7, 1 LOCATE 14, 5: PRINT "Text 2: "; : COLOR 7, 0: PRINT " ": COLOR 7, 1 LOCATE 15, 5: PRINT "Text 3: "; : COLOR 7, 0: PRINT " " LOCATE 13, 13: PRINT a1$ LOCATE 14, 13: PRINT a2$ LOCATE 15, 13: PRINT a3$ zeile1: Eingabe 13, 13, a1$, LEN(a1$) + 1, 10, allzeich$, zurueck$ IF zurueck$ = CHR$(0) + "H" THEN GOTO zeile3 IF zurueck$ = CHR$(27) THEN RETURN zeile2: Eingabe 13, 14, a2$, LEN(a2$) + 1, 10, allzeich$, zurueck$ IF zurueck$ = CHR$(0) + "H" THEN GOTO zeile1 IF zurueck$ = CHR$(27) THEN RETURN zeile3: Eingabe 13, 15, a3$, LEN(a3$) + 1, 10, allzeich$, zurueck$ IF zurueck$ = CHR$(0) + "H" THEN GOTO zeile2 IF zurueck$ = CHR$(27) THEN RETURN GOTO zeile1 SUB Eingabe (x, y, t$, p, b, z$, r$) LOCATE y, x: PRINT t$; FOR I = 1 TO b + 1 - LEN(t$): PRINT " "; NEXT LOCATE y, x + p - 1, 1 1 a$ = INKEY$: IF a$ = "" THEN 1 IF LEFT$(a$, 1) = CHR$(0) AND INSTR("MSK", RIGHT$(a$, 1)) > 0 OR a$ = CHR$(8) THEN 4 IF a$ >= " " THEN 4 GOTO 2 4 IF a$ = CHR$(8) AND p > 1 THEN t$ = LEFT$(t$, p - 2) + RIGHT$(t$, LEN(t$) - p + 1): p = p - 1 IF LEFT$(a$, 1) = CHR$(0) AND RIGHT$(a$, 1) = "S" AND p <= LEN(t$) THEN t$ = LEFT$(t$, p - 1) + RIGHT$(t$, LEN(t$) - p) IF LEFT$(a$, 1) = CHR$(0) AND RIGHT$(a$, 1) = "K" AND p > 1 THEN p = p - 1 IF LEFT$(a$, 1) = CHR$(0) AND RIGHT$(a$, 1) = "M" AND p - 1 < LEN(t$) THEN p = p + 1 IF LEN(t$) = b AND p = b + 1 THEN GOTO 3 IF INSTR(z$, a$) > 0 AND p - 1 = LEN(t$) THEN t$ = t$ + a$: p = p + 1 IF INSTR(z$, a$) > 0 AND p - 1 < LEN(t$) THEN MID$(t$, p) = a$: p = p + 1 3 LOCATE y, x: PRINT t$; " ": LOCATE y, p + x - 1, 1: GOTO 1 2 r$ = a$: LOCATE , , 1, 8, 9 END SUB