|
|
|
| 04.12.2025 | Archiv # Recherche # Links # Kontakt # Gästebuch # Impressum | |
|
Index Login Die Anzeige des Archivs erfolgt grafisch. Ändern |
Kurs: GeoProgrammer (Teil 6)Texteingabe innerhalb einer Dialogbox Im Kursteil 5 habe ich bei der weitergehenden Vorstellung der Anwendungsmöglichkeit einer Dialogbox auch die Befehle DBGETSTRING und DBVARSTR erwähnt. Diese wollen wir nun anwenden. Alles weitere ist ähnlich der Texteingabe bzw. wie es in den bisherigen Dialogboxen üblich war. Man kann es den ausführlich dokumentierten Listing entnehmen. Interessant ist die Platzierung des OK-Feldes. Es ist durch einen zu großen X-Wert außerhalb der Dialogbox.
- Demo Name in Box eingeben aus dem 64er Sonderheft 28 "Alles über GEOS".
- übersetzt von Hypra-Ass in GeoAssembler
.if Pass1 ;dem Assembler
.include geosSym ;mitteilen welche
.include geosMac ;Dateien eingebunden
.endif ;werden müssen.
.psect ; Programmanfangsadresse
ProgStart:
LoadW r0,ClearScreen;Zeiger auf
;Bildschirmlöschroutine
jsr GraphicsString;Bildschirm
;löschen ausführen
LoadW r0,Dtab ;Zeiger auf
;Dialogboxtabelle
LoadW r5,Eing ;Zeiger auf
;Eingabestelle
jsr DoDlgBox ;Dialogbox
LoadW r0,Dtab2 ;Zeiger auf
;Tabelle Ausgabe
LoadW r5,Eing ;Zeiger auf
;Ausgabestelle
jsr DoDlgBox ;Dialogbox
jmp EnterDesktop ;Programm beenden.
Dtab: ;Eingabe-Dialogbox
.byte SETDBPOS ö 1 ;Freie Box mit Schattenmuster 1
.byte 20,100 ;Obere und untere Grenze
.word 20,300 ;Linke und rechte Ecke
.byte DBTXTSTR ;Textausgabe vorbereiten
.byte 10 ;X-Position
.byte 50 ;Y-Position
.word Ausg1 ; Zeiger auf auszugebenen Text
.byte DBGETSTRING ;Indirekte Texteingabe vorbereiten
.byte 10 ;an X- und
.byte 62 ;Y Position
.byte r5 ;Text an der in r5 stehenden
;Adresse speichern
.byte 10 ;Maximal 10 Zeichen aufnehmen
.byte NULL ;Ende der Tabelle
Dtab2: ;Ausgabe-Dialogbox
.byte SETDBPOS ö 3 ;Freie Box mit Schattenmuster 3
.byte 50,150 ;Obere und untere Grenze
.word 100,200 ;Linke und rechte Ecke
.byte DBTXTSTR ;Textausgabe vorbereiten
.byte 10 ;X-Position
.byte 20 ;Y-Position
.word Antwort ;Zeiger auf auszugebenen Text
.byte DBVARSTR ;Indirekte Textausgabe vorbereiten
.byte 10 ;X-Position
.byte 35 ;Y-Position
.byte r5 ;In r5 steht die Adresse des
;auszugebenen Textes
.byte OK ;OK-Feld anzeigen an
.byte 20 ;X-Position in Byte
.byte 50 ;Y-Position in Bit
.byte NULL ;Ende der Dialogboxtabelle
Ausg1: ;auszugebener Text für Dialogbox
.byte "Wie heißen Sie ?"
.byte NULL ;Ende des Textes
Eing: ;Engabetext freihalten
.byte 0,0,0,0,0,0,0,0,0,0
.byte NULL ;Ende des Eingabetextes
Antwort: ;Ausgabetext für Dialogbox
.byte "Ihr Name ist :"
.byte NULL ;Ende des Ausgabetextes
ClearScreen:
>>Tabelle s. GUP 5 oder GeoProgramner<<
ProgEnd: ;Programmendekennzeichen
Wenn ihr schöne Demo's entwickelt habt, schickt sie mir bitte ein.
Jürgen Heinisch
Kurzlink hierhin: http://geos-printarchiv.de/892 |
|
|
Letzte Änderung am 01.11.2019 |
||