Makros und Programme einsetzen

Modale Datenfenster ausführen

Top  Previous  Next

Modale Datenfenster dienen der Eingabe oder Auswahl von Datensätzen, ohne dass der Anwender in dieser Zeit mit anderen Formularen als dem modalen etwas tun kann. Wenn ein modales Datenfenster geöffnet ist, sind alle anderen Datenfenster und auch sonstige Fenster deaktiviert. Anders als bei Dialogen ist aber das Menü und die Schalterleiste für das modale Datenfenster noch bedienbar. In einem modalen Datenfenster kann der Anwender also je nach Variante noch Datensätze wechseln, eingeben, suchen, markieren und so weiter.

Auch wenn Sie noch nie eines in ihren Programm verwendet haben, kennen Sie modale Datenfenster wahrscheinlich aus der normalen Bedienoberfläche. Die Nachfrage bei Koppel- und Relationsfeld-Eingabe, Nachschlagetabellen sowie die bei Ansicht/Verknüpfte Datensätze.. und Bearbeiten/Verknüpfte Datensätze angezeigten Datenfenster sind modal. Modale Datenfenster haben neben dem eigentlichen Formular noch ein sogenanntes Panel mit einem oder mehrere Aktionsschaltern und einem erklärenden Text, dem Kommentar.

Es gibt eine ganze Reihe von TurboPL-Funktionen die modale Datenfenster anzeigen. Sie unterscheiden sich darin, was der Anwender in diesem Datenfenster machen darf und was nicht. Von den meisten Funktionen gibt es eine Einzahl- und eine Mehrzahl-Form wie zum Beispiel EditRec und EditRecs. Die Mehrzahl-Form erlaubt es, den aktuellen Datensatz zu wechseln, während die Einzahl-Form auf dem vom Programm eingestellten Datensatz verharrt. Dies sind die verfügbaren Funktionen:

ViewRec/ViewRecs

Anwender kann Datensätze betrachten aber nicht ändern.

ChooseRec/MarkRecs

Anwender kann einen oder mehrere Datensätze auswählen aber nicht ändern.

EditRec/EditRecs

Anwender kann einen oder mehrere Datensätze editieren.

AppendRec/AppendRecs

Anwender kann Datensätze zur Tabelle hinzufügen, aber nicht ändern.

ViewLinkedRecs

Anwender kann die mit dem aktuellen Datensatz verknüpften Datensätze betrachten.

AppendLinkedRecs

Anwender kann neue mit dem aktuellen Datensatz verknüpfte Datenätze eintragen.

Die typischen Schritte beim Ausführen eines modalen Datenfensters sind diese:

1.Das Formular für das Datenfenster öffnen.
2.Alle Einstellungen für das Datenfenster vornehmen: Auswahl, Sortierung, aktueller Datensatz, angezeigte Formularseite usw.
3.Die modale Aktion starten.
4.Prüfen, auf welche Weise der Anwender die modale Aktion beendet hat (Bestätigung oder Abbruch) und entsprechend handeln.
5.Das Formular schließen

Weil in diesem Ablauf das Formular erst geöffnet wird, finden sich Prozeduren, die mit modalen Datenfenstern arbeiten für gewöhnlich in einem Applikationsmodul. Die folgende Prozedur erfragt vom Benutzer, welche der offenen Rechnungen gedruckt werden sollen und markiert diese intern, die Bedeutung der Tabellen und Spalten ergibt sich aus den verwendeten Bezeichnern:

procedure AuswahlAusOffeneRechnungen: Integer;
       vardef Result: Integer;
       OpenForm('RECHNUNG.Auswahlliste');
       MitBedingung('Status = Offen', 1, 1);
       Sortierung('Rechnungsnummer');
       if MarkRecs('Markieren Sie die Rechnungen, die gedruckt werden sollen')
               ..Die Oberflächemarkierungen zu internen machen
               Sortierung('Markierung');
               Result := 1;
       else
               Result := 0;
       end;
       CloseWnd;
       return Result;
endproc;