Widerspenstiges im Schreibfeld - / - Pflichtkategorie im Formular

Thomas Berger ThB at gymel.com
Mo Dez 8 20:10:48 CET 2003


Lieber Herr Kuhn,

> vielleicht kommt diese Meldung zeitlich etwas ungelegen, so kurz vor
> der Fertigstellung des neuen Gesamtpakets, aber leider ist mir die
> Sache erst jetzt zugetragen worden.
> 
> Wenn wir eine vorhandene Kategorie durch Doppelklick ins
> Schreibfenster holen und dort bearbeiten möchten, beobachten wir zwei
> Dinge:
> 
> 1. macht die Cursorposition, was sie will, z.B. springt der
> Cursor oft unvermittelt bei der Eingabe von normalen Zeichen oder bei
> Betätigen der Rücktaste an Position 1 des Schreibfensters, also vor
> die Kategoriebezeichnung;
> 2. werden Änderungen beim ersten mal eigentlich nie
> abgespeichert: sobald man etwas in der Kategorie modifiziert hat und
> [Enter] drückt, hat man wieder die unveränderte Kategorie vor sich.

Das Schreibfeld wird bei "Enter" nicht leer?


> Übernommen wird die Sache immer erst, wenn man es ein zweites Mal
> versucht (das korrekte Element wird im Suchbefehl-Feld übrigens
> angezeigt).
> 
> Das Ganze kann zu einer ziemlich nervenaufreibenden Angelegenheit
> werden, wenn man nicht erst über das Formular gehen möchte und vorhandene
> Sätze direkt im Schreibfeld ändern möchte.
> Ich hab die Sache mittlerweile auf mehreren Rechnern von Win 95 bis XP
> mit den beiden allegro-Versionen 23.6.x ausprobiert, überall mit dem
> gleichen Ergebnis.

Ich kann das mit 23.6.1 und der Demodatenbank nicht reproduzieren.


> Ist es möglich, in ein Formular ähnlich wie
> in der klassischen Abfrageliste so etwas wie eine "Pflichtkategorie"
> einzubauen, z.B. daß eine Signatur und eine Inventarnummer eingegeben
> werden müssen, um den Satz abspeichern zu können ?

In einem Formular geht das konzeptionell nicht, denn
der Benutzer darf die Felder ja in "seiner" Wahl der
Reihenfolge ausfuellen (und leer lassen). Solche
Tests machen erst beim Beenden eines Formulars Sinn,
wobei bei a99 ja "beenden" (mit dem Ende-Button) durchaus
erst viel spaeter passieren kann als das "verlassen"
des Formulars durch Wechsel auf ein anderes Formular.

Formulare werden inzwischen ja weitestgehend nur 
Flexgesteuert aufgerufen (als Folge von oninput.flx bzw.
onnew.flx oder onforms.flx). Hier steht es Ihnen frei,
das Schliessen des Formularfensters abzufangen und
gewisse Tests durchzufuehren, bevor etwa automatisch
gespeichert wird. Das Abspeichern ist ansonsten - denkt
man an freie Eingaben, wie Sie weiter oben - ein womoeglich
besserer Ort fuer solche Tests: Hier gibt es onput.flx,
der den Datensatz abpruefen kann (und im Fall des Falles
kein "put" aufruft, sondern eine Nachricht), oder - ganz
klassisch - die programmierte Validierung, die ebenfalls
(und sogar zweifach) in der Lage ist, das Abspeichern
eines Satzes zu unterbinden, wenn gewisse parametrierbare
Bedingungen gegeben sind.

Fuer Fortgeschrittene waere die Uebung, in einer Textdateien
pflicht.txt eine Liste von Pflichtkategorien abzulegen, die
dann von onput.flx ausgewertet wird, dann waere das 
gewuenschte Verhalten von den Anwendern leicht anpassbar.

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro