Kurzprogramme
Die hier verwendete Notation ist in einem gesonderten Beitrag zusammengestellt.
Hier in diesem Beitrag werden themenunabhängig kurze Hilfsprogramme gezeigt, die bei der Arbeit mit dem HP 49G sehr praktisch sind. Der Quellcode dieser Programme wird im Text gezeigt und kurz erläutert. Die Programme laufen im RPN-Modus.
Um die Zeitanzeige (Stunde, Minute, Tag, Monat) oben am Bildschirm im Header zu aktivieren, muß das Systemflag -40 gesetzt sein. Wird es zurückgesetzt, dann verschwindet die Anzeige wieder. Damit man das Flag bequem umschalten kann, wird ein kleines Umschaltprogramm hergestellt:
« -40 FS? IF 1 == THEN -40 CF ELSE -40 SF END »Das Programm wird in die Variable UHR gespeichert.
Manche HP49-Anwender haben Schwierigkeiten, weil der Taschenrechner bei der Eingabe verzögert reagiert. "Mein HP49 ist zu langsam" steht dann als Thema in E-Mails an die NewsGroup.
Das hat seine Ursache im temporären Benutzerspeicher, der nach längerem Arbeiten nicht mehr zusammenhängend zur Verfügung steht. Bei früheren HP-Taschenrechnern war dies auch schon so, da hat der Rechner automatisch "Packing" durchgeführt, wenn der Speicher reorganisiert werden mußte oder man mußte es mit dem Befehl PACK selber starten.
Beim HP 49G muß auch der Speicher reorganisiert werden. Dies wird als ein Nebeneffekt des Befehls MEM durchgeführt. Bevor die Anzeige des frei verfügbaren Benutzerspeichers erfolgen kann, führt der Rechner eine "Garbage collection" durch. Dieser "Lumpensammler" kratzt alle verstreuten Speicherreste zusammen und reorganisert den Benutzerspeicher. Dazu legt man sich ein Programm an, das nur diesen einen Befehl enthält: « MEM » . Es gibt den freien Speicher im Stack aus.
Will man nur den Nebeneffekt des Reorganisierens ohne die Anzeige haben, dann steht im Programm:
« MEM DROP » .
Für das Programm sollte man als Variablenname nicht MEM wählen, denn der Name ist reserviert für den Befehl selbst. GARB ist z. B. ein Variablenname, der auf "Garbage collection" hinweist.
Manchmal möchte man den gesamten Stackinhalt sichern, um schnell etwas anderes rechnen zu können. Für die Sicherung des Stacks gibt es keine internen Speicherbefehle.
Das Programm « DEPTH ->LIST 'Stack' STO » speichert den gesamten Stackinhalt in die Variable Stack und leert den Stack. Das Programm speichern wir in die Variable STOST (store stack).
Zurückgeholt wird der gespeicherte Stackinhalt durch das Programm « Stack OBJ-> DROP ». Dieses Programm speichern wir in die Variable RCLST (recall stack).
Siehe auch den Beitrag "Der Stack des HP 49G".
Was eine "Tastenkennung" ist, steht im Beitrag "Tastatur". Das Programm « 0 WAIT » zeigt die Tastenkennung einer Taste oder Tastenkombination an. Es wird in die Variable KEY? gespeichert. Nach Aufruf dieses Programms muß eine Taste oder eine Tastenfolge für eine umgeschaltete Taste gedrückt werden. Die Tastenkennung wird im Stack angezeigt.
Beispiele:
Das Programm liefert bei
Taste [ENTER] die Anzeige 105.1 und bei
Tastenfolge [leftshift][9] die Anzeige 74.2.
Will man lediglich die Tastenposition auf der Tastatur, also Zeile und Spalte, dann muß man das Programm
« DO UNTIL KEY END » aufrufen. Nach Aufruf dieses Programms muß nur eine Taste gedrückt werden. Die Tastenposition wird im Stack angezeigt. Wir speichern das Programm in die Variable KEYNR (siehe auch "Tastatur").Beispiele:
Das Programm liefert bei
Taste [ENTER] die Anzeige 105 und bei
Taste [leftshift] die Anzeige 81.
In der reservierten internen Variablen PICT ist das aktuelle Bild abgespeichert, das der HP 49G zuletzt angezeigt hatte. Mit dem Programm « {} PVIEW » kann man es sichtbar machen.
Mit der Taste [ON] ( = [ CANCEL]) wird diese Anzeige verlassen, ohne das Bild zu löschen. Wir speichern das Programm in die Variable BILD (siehe auch "Grafik auf dem HP 49G").
Zur Beitragsübersicht
Copyright © 2002 Otto Praxl
Alle Rechte vorbehalten!