Technische Tips und Tricks: Gleichzeitiges Abfragen von Funktionstasten und normalen Tasten B. Kühnast Folgende Situation: Du hast ein Programm geschrieben, in dem viele Daten erfaßt werden sollen, z. B. deine Plattensammlung. Da gibt es natürlich von einigen Interpreten mehrere LPs. Um das Erfassen schneller zu machen, soll auf Tastendruck der Name, der zuletzt eingegeben wurde, wiederholt werden. Zuerst das Programm: --------------------------------------- 10 DIM NAME$(20) 15 GRAPHICS 0 20 POKE 764,255 25 POSITION 2,2:? "Name":POSITION 7,2 30 IF PEEK(764)<255 THEN GOSUB 100:GOTO 15 40 IF PEEK(53279)=3 THEN ? NAME$:GOSUB 100:GOTO 15 50 GOTO 30 100 POSITION 6,2:INPUT NAME$:POKE 764,255:RETURN --------------------------------------- 10 - Platz für die Variable reservieren 15 - Bildschirm löschen (nicht die eleganteste Methode, zugegeben) 20 - Hier wird der Speicher für die normalen Tasten gelöscht. Nach dem Betätigen einer Taste bleibt deren Werte in diesem Register (764). Das Register für die Funktionstasten (oder Konsolen-Tasten, sprich START, SELECT, OPTION) muß nicht gelöscht werden - das geschieht automatisch. 25 - Hier wird der Bildschirm aufgebaut. Die Positions-Anweisungen sind wichtiig! 30 bis 50 - Die Eingabeschleife 30: Wird eine normale Taste gedrückt, wird zur Eingabe- Routine gesprungen. 40: Wird die OPTION-Taste gedrückt, wird die letzte Eingabe geschrieben durch Druck auf RETURN wird eine erneute Eingabe vorgetäuscht. Hier ist die Position wichtig! 100 - Hier wird die Eingabe gemacht. Das Tastatur-Register muß natürlich wieder gelöscht werden. Von außen sieht man natürlich nicht, daß das ganze in Basic funktioniert - man ist wohl eher geneigt, an einen speziellen Interrupt zu glauben. Die wiederholte Eingabe kann auch editiert, also verändert werden. Die Möglichkeiten, die das ATARI-Betriebssystem dafür bietet, sind aber eher bescheiden. CU!