|
|
| (2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| {{Vorlage:System}}
| | #REDIRECT [[OBS/Makros_und_Scripting/Anwendungsbereiche/Customize]] |
| =OBS Anleitung Customize Edit=
| |
| Bei einem Benutzer kann man über {{F9}} Layout mit Level 5 den Schalter Customize aktivieren.
| |
| Der Firmenbeauftragte kann dann für den Benutzer Anpassungen durchführen. Nach der Anpassung muss Customize deaktiviert werden.
| |
| | |
| [[Image:FRMEDITCUSTOMIZE_1.jpg]] | |
| | |
| Aufruf über {{Strg}}+{{F12}}:
| |
| *in der Liste
| |
| *im Edit-Dialog
| |
| *in den Auswahlboxen
| |
| *in den Auswertungen ({{F3}} Formulare/Exports)
| |
| *in der Positionserfassung
| |
| | |
| Mit rechter Maustaste und {{Strg}} können auch die Weitere Funktionen (in den Listen) bearbeitet werden.
| |
| | |
| [[Image:FRMEDITCUSTOMIZE_2.jpg]]
| |
| | |
| Die Benutzeraktivitäten können ebenfalls eingeschränkt werden:
| |
| | |
| [[Image:FRMEDITCUSTOMIZE_3.jpg]]
| |
| | |
| Name des Edit's ist der jeweilige Klassenname.<br />
| |
| Das Makro gilt standardmäßig für alle User (XXX); es kann aber auch ein spezifischer Benutzer angegeben werden. Folgende Aufrufe sind möglich:<br />
| |
| ==Edit Formulare==
| |
| InitScripter wird nach dem Create des Fensters aufgerufen
| |
| | |
| {| class="wikitable"
| |
| |-
| |
| !Edit Kontroll Funktionen !! Tastatur Funktionen
| |
| |-
| |
| |InitScripter ||
| |
| |-
| |
| |CheckIfChanged || OnF1
| |
| |-
| |
| |OnESC || OnF2
| |
| |-
| |
| |OnEdInit || OnF3
| |
| |-
| |
| |OnEdFormInit || OnF4
| |
| |-
| |
| |OnEdClose || OnF5
| |
| |-
| |
| |OnEdRead || OnF6
| |
| |-
| |
| |OnEdShow || OnF7
| |
| |-
| |
| |OnEdVorb || OnF8
| |
| |-
| |
| |OnEdCheck || OnF9
| |
| |-
| |
| |OnEdSave || OnF10
| |
| |-
| |
| |OnEdSaveDirect || OnPGDN
| |
| |-
| |
| |OnEdReadDirect || OnPGUP
| |
| |-
| |
| |OnRETURN ||
| |
| |}
| |
| | |
| Jede Makro Funktion hat 2 Aufrufe
| |
| # Bevor die interne Delphi Funktion aufgerufen wird, gibt es einen Makro-Aufruf mit der Erweiterung Before_. Hat die Funktion den Rückgabewert Ready, so wird die interne Delphi-Funktion nicht mehr aufgerufen. Diese Funktion wird unabhängig von der Delphi Funktion aufgerufen.
| |
| # Standard Aufruf nach der internen Delphi Funktion. Diese wird nur ausgeführt wenn es in Delphi eine On... Funktion bestückt wird.
| |
| | |
| ==Globale Variable FrmEdit==
| |
| Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. Folgende Property's stehen zu Verfügung
| |
| | |
| {| class="wikitable"
| |
| |-
| |
| !Property !! Erläuterung
| |
| |-
| |
| |lCheckOK || Kann bei der Überprüfung von F2 benutzt werden ob die Eingabewerte korrekt eingegeben wurden sind. Bei False wird nicht abgespeichert.
| |
| |-
| |
| |lEditMode || True = Insertmodus False = Editmodus
| |
| |-
| |
| |lDataUpdate || True = Daten des Edits wurden verändert
| |
| |-
| |
| |lDataChecked || False=Daten werden auf gültigkeit überprüft (lCheckok)
| |
| |-
| |
| |lCloseInsert || Edit-Fenster wird (lEditMode = True) nach F2 geschlossen
| |
| |-
| |
| |lCloseEdit || Edit-Fenster wird (lEditMode = False) nach F2 geschlossen
| |
| |-
| |
| |lDataESC || Soll bei einer Änderung im Edit eine Abfrage beim Verlassen der Maske erscheinen
| |
| |-
| |
| |lCanLock || Ob bei der Eingabe nur eine Person den Datensat editieren darf
| |
| |-
| |
| |lInsert || Edit Felder im Insert/Überschreibemodus (zur zeit keine Funktion)
| |
| |}
| |
| | |
| Auslesen von Komponenten:
| |
| FrmEdit.xGet('a_vorname');
| |
| | |
| Setzen von Komponenten:
| |
| FrmEdit.xSet('a_vorname',"Meier");
| |
| | |
| ==Mögliche Zugriffe auf Komponenten und Werte des Edits==
| |
| | |
| procedure InitScripter(ofrm:Tobject);
| |
| var oSte : TEdit;
| |
| begin
| |
| oSte := FrmEdit.FindComponent('stred_db_a_vzusatz');
| |
| Meldung(FrmEdit.stred_db_a_vzusatz.Text);
| |
| end;
| |
| function OnEdCheck():string;
| |
| var oSte : TEdit;
| |
| cEdit : String;
| |
| cVorname : String;
| |
| begin
| |
| if (FrmEdit.lEditMode) then begin
| |
| Meldung('Edit Mode True');
| |
| end else begin
| |
| Meldung('Edit Mode False');
| |
| end;
| |
| Meldung(FrmEdit.stred_db_a_name.Text);
| |
| oSte := FrmEdit.FindComponent('stred_db_a_name');
| |
| Meldung(oSte.Text);
| |
| cVorname:= FrmEdit.xGet('a_vorname');
| |
| Meldung(cVorname);
| |
| if (Empty(cVorname)) then begin
| |
| FrmEdit.lCheckOk := False;
| |
| Meldung('Bitte Vorname eingtragen');
| |
| end;
| |
| | |
| Wenn möglich immer mit '''xGet''' und '''xSet''' auf Komponenten Werte zugreifen.
| |
| | |
| ==Listen Formulare==
| |
| Folgende Funktionen stehen zur Verfügung:
| |
| *InitScripter
| |
| *OnListNew
| |
| *OnResize
| |
| *OnRefresh
| |
| | |
| *Before_Close
| |
| | |
| *Before_OnF1
| |
| *Before_OnF2
| |
| *Before_OnF3
| |
| *Before_OnF4
| |
| *Before_OnF5
| |
| *Before_OnF6
| |
| *Before_OnF7
| |
| *Before_OnF8
| |
| *Before_OnF9
| |
| *Before_OnF10
| |
| *Before_OnReturn
| |
| *Before_OnInsert
| |
| *Before_OnDelete
| |
| *Before_OnESC
| |
| | |
| *OnF1
| |
| *OnF2
| |
| *OnF3
| |
| *OnF4
| |
| *OnF5
| |
| *OnF6
| |
| *OnF7
| |
| *OnF8
| |
| *OnF9
| |
| *OnF10
| |
| *OnReturn
| |
| *OnInsert
| |
| *OnDelete
| |
| *OnESC
| |
| | |
| '''Beispiel:'''
| |
| var oListe : TxFrmListe;
| |
| procedure InitScripter(oFrm:Tobject);
| |
| var cTable : String;
| |
| begin
| |
| oListe := oFrm;
| |
| cTable := oListe.Name;
| |
| Meldung(cTable);
| |
| Meldung(oListe.Query.sql.text);
| |
| Meldung(oListe.Query.A2C('sys_uid'));
| |
| Meldung(oListe.cTable);
| |
| end;
| |
| | |
| Wird bei den Before Funktionen "READY" zurückgegeben, so werden die internen Funktionen nicht mehr ausgeführt. Damit kann der natürliche Ablauf des Programmes veränder werden. Dies kann schwere Programmfehler verursachen!
| |