4D v16

Fenster und Navigation

Home

 
4D v16
Fenster und Navigation

Fenster und Navigation    


 

Hier sehen Sie die Verwendung der automatischen Skalierungseigenschaften bei Objekten und die Interaktion zwischen Programmierung und Verwalten der Oberfläche.

Zunächst fügen wir in der Tabelle Interventions 4 neue Felder hinzu:

  • Description (Typ Text)
  • Comments (Typ Text)
  • Progress (Typ Lange Ganzzahl)
  • Place (Typ Alpha)

Anschließend überarbeiten wir dessen Eingabeformular erneut, so dass es in etwa so aussieht:

Nach verschiedenen Anpassungen im Formular und der Tabelle, wie Beschreibung, Kommentare, Ablaufbalken, ID, u.ä., wollen wir jetzt im Eingabeformular der Tabelle Interventions eine Schaltfläche zum Senden von E-Mails einfügen.

Dieses E-Mail wird an den Techniker gesendet, der für den Einsatz zuständig ist.

Dazu müssen wir die Schaltfläche und die Oberfläche zur Eingabe hinzufügen.

Wir erstellen ein Projektformular MAIL und eine Methode Form_Functions, um einen Dialog zu bestätigen oder abzubrechen.
Zuerst wollen wir das Formular in einem anderen Umfeld verwenden.

Alle Formularfelder sind Variablen, die wir mit dem Inhalt aus Feldern verschiedener Tabellen füllen können. Hierzu erstellen wir 5 Variablen vom Typ Alphanumerisch mit den Namen

  • vSender
  • vTO
  • vCC
  • vBCC
  • vSubject
  • vContent

Wir machen die Bereiche automatisch anpassbar:

  • Wir setzen die horizontale Größe auf "Wachsen"
  • Und die vertikale Größe nur für den Inhalt auf "Wachsen"

Setzen Sie diese Zeilen Code in die Formularmethode:

 $evt:=Form event
 Case of
    :($evt=On Load//Initialisierung der Variablen, die im E-Mail verwendet werden
       C_TEXT(vSender;vRecipient;vCC;vBCC;vSubject;vContent)
 End case

Damit können Sie die später verwendeten Variablen initialisieren.

Wir prüfen, dass nur das Ereignis On Load für das Formular markiert ist.

Als nächstes fügen wir noch eine Schaltfläche zum Senden der E-Mail ein, die wir später programmieren. Bevor das Dialogfenster fertig ist, müssen wir noch folgende Codezeilen in die Methode Form_Functions einfügen:

 $Action:=$1
 
 Case of
    :($Action="OK") //Bestätigen
       ACCEPT
 
    :($Action="Cancel") //Abbrechen
       CANCEL
 End case

und in die beiden Schaltflächen die jeweilige Zeile Form_Functions ("OK") bzw. Form_Functions ("Cancel")

Nun wollen wir über eine Schaltfläche im Formular [Interventions]Eingabe aufrufen. Dazu erstellen wir eine Schaltfläche Send mail to the technician unter dem Feld [Interventions]Comments
Die zugewiesene Methode lautet:

  //Setze einen Wert für die Variable zur leichteren Eingabe
 vSender:="prof@4d.fr"
 vRecipient:=[Technicians]e-mail
 vCC:=""
 vBCC:=""
 vSubject:="Intervention for the "+String([Interventions]Date_Intervention)+" at "+String([Interventions]Time_Intervention)
 vContent:=[Interventions]Subject+(Char(13)*2)+[Interventions]Description
 
  //Erstelle das Fenster (Container), in dem der Dialog (Inhalt) angezeigt wird
 $Window:=Open form window("MAIL";Plain window;Horizontally centered;Vertically centered)
  //Zeige den Dialog
 DIALOG("MAIL")
  //Wird der Dialog geschlossen, schließe das Fenster
 CLOSE WINDOW($Window)

  • Wir weisen den Variablen Werte zu, bei Bedarf zusammengesetzt
  • Dann soll ein Container, d.h. ein Fenster aufgerufen werden
  • In dem wir das Dialogfenster E-Mail anzeigen
  • Dann schließen wir das Fenster

Anschließend geben wir in den Eigenschaften der Schaltfläche an, dass sie sich vertikal bewegt, wenn sich die Formulargröße verändert. Falls wir dies nicht tun, liegt die neu erstellte Schaltfläche mitten im Kommentarfeld.

Wir testen, ob dieses Dialogfenster funktioniert.

Die Schaltfläche bewegt sich jetzt passend zur Fenstergröße.

Wir gehen in den Schrittmodus:

  • Prüfen, ob den Variablen Werte zugewiesen sind
  • Erstellen den Container
  • Und zeigen das Dialogfenster an

Wir sehen:

  • Die Information zum Einsatz
  • Die Schaltfläche zum Senden einer E-Mail, die wir später programmieren
  • Beim Vergrößern oder Verkleinern des Fensters werden die Objekte direkt angepasst

Hier sollten Sie folgendes beachten: 

4D verwendet den Befehl ALERT zum Anzeigen von Meldungen. Sie werden schnell merken, dass es oft notwendig ist, Meldungen mit zusätzlicher Informationen zu aktualisieren.

Im Hinblick auf zukünftige Anwendungen sollten Sie ein anpassbares Formular einrichten, das den Befehl ALERT durch eigene Meldungen ersetzt, und wo Sie das Kopieren von Fehlermeldungen zulassen oder nicht zulassen.

Beachten Sie, dass dieses Dialogfenster ein vollkommen eigenes Formular ist. Es kann also folgendes enthalten:

  • Mehrere Seiten
  • Registerkarte
  • Schaltflächen
  • Arrays
  • sowie bei Bedarf weitere Elemente.

Sie können sogar definieren, dass an den Kundendienst ein automatisches E-Mail mit folgenden Informationen gesendet wird:

  • Benutzer
  • Rechner
  • Datum
  • Uhrzeit
  • die Fehlermeldung
  • usw.
  • Oder Sie speichern diese Information in einem Logbuch, auf das der Kundendienst zugreifen kann

Sie können das Formular auch weiter ausbauen, z.B.:

  • Eine bestimmte Schaltfläche anzeigen oder ausblenden
  • Eine URL hinzufügen, die sie anklicken können, um auf die Online-Hilfe zuzugreifen
  • Eine Sprache für die Meldung wählen
  • Meldungen mit Daten aus einer vom Benutzer gefüllten Tabelle konfigurieren

Haben Sie ein Gespür dafür bekommen, sind die Möglichkeiten praktisch unbegrenzt.

 
 

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Fenster und Navigation

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

Self-Training ( 4D v16)