Hallo Peter2,
ist kein Problem, mach unter Windows in den meiste Fällen keinen Sinn
da der Anwender mit der Maus überall hin klickt kann, und werden dann Werte aus einer Edit_box benötigt deren Eingaben vorher schon gemacht werden müsten zurückgreift, gibt es komische Ergebnisse oder Abschüsse deines Programms. Dieses ist zb. der Fall wenn du auf Zahlenwerte arbeitest, wo der Wert aus einem vorherigen Feld benötigt wird. Ds mit dem Return kommt ja aus der DOS-Zeit ist aber nicht mehr
so der Hit, kann mich auch nur schwer davon trennen.
An sonsten get es so:
"(mode_tile "nächtes_feld" 0)" "(mode_tile "nächtes_feld" 0)" usw.
Mit "wcmatch" kanst du eine Gültigkeitsprüfung vornehmen und bei Falscheingabe über
"(mode_tile "nächtest_feld" 2)"
"(mode_tile "nächtest_feld" 3)" kannst du den Anwender dazu zwingwen
solange im Feld zubleiben bis er eine Richtige Eingabe gemacht hat.
zB.:
;; Überprüfen das nur Zahlen und Punkt oder Komma als Dezimaltrennzeichen
;; vorhanden sind
(if (wcmatch (get_tile KEY) "*@*,*[] `#`@`?`*`~`[´``'!%^&()+={}|`\\:;\"<>/]*")
(progn
(vlr-beep-reaction )
(mode_tile KEY 2)(mode_tile KEY 3)
(set_tile "error" (strcat "Nur Zahlen -,- und -.- sind erlaubt !!!! "))
)
(progn
(if (>= (strlen (get_tile KEY)) 1)
(progn
;; Die Taste Speicher Hervorheben und den Äderungsindex setzen
(mode_tile "SPEICHERN" 0)(setq A 1)
)
)
(set_tile "error" "")
)
)
Dein Ergebnisse solltes du aber erst beim Verlassen des Fensters mit "OK" auswerten weil:
Eine Taste in deiner DCL-Datei sollte "is_cancel = true;" enthalten.
damit kann der Anwender, wenn er nicht mehr weiter weiß auf das "X" oben rechts im Fenster dieses schliessen.
mfg.
Niggemann
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP