|
|
| (8 dazwischenliegende Versionen von 2 Benutzern 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:
| |
| *'''<u>Edit Formulare</u>''' 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
| |
| |}
| |
| | |
| </div><br />Jede Makro Funktion hat 2 Aufrufe <br />1 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.<br />2 Standard Aufruf nach der internen Delphi Funktion. Diese wird nur ausgeführt wenn es in Delphi eine On... Funktion bestückt wird.<br />
| |
| | |
| =<font size="2" color="#000000" face="Arial"><font size="3">'''Globale Variable FrmEdit'''</font></font>=
| |
| | |
| <br />Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. Folgende Propertys stehen zu Verfügung<br /><div>
| |
| | |
| {| cellspacing="-1" cellpadding="2"
| |
| <table border=1>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'''Property'''</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">'''Erläuterung'''</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lCheckOK'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Kann bei der Überprüfung von F2 benutzt werden ob die Eingabewerte korrekt eingegeben wurden sind.Bei False wird nicht abgespeichert.</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lEditMode'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">True = InsertmodusFalse = Editmodus</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lDataUpdate'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">True = Daten des Edits wurden verändert</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lDataChecked'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">False=Daten werden auf gültigkeit überprüft (lCheckok)</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lCloseInsert'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Edit-Fenster wird (lEditMode = True) nach F2 geschlossen</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lCloseEdit'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Edit-Fenster wird (lEditMode = False) nach F2 geschlossen</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lDataESC'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Soll bei einer Änderung im Edit eine Abfrage beim Verlassen der Maske erscheinen</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lCanLock'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Ob bei der Eingabe nur eine Person den Datensat editieren darf</font>
| |
| |- valign="top"
| |
| | width="127" valign="top" | <font size="2" color="#000000" face="Arial">'lInsert'</font>
| |
| | width="431" valign="top" | <font size="2" color="#000000" face="Arial">Edit Felder im Insert/Überschreibemodus (zur zeit keine Funktion)</font>
| |
| |}
| |
| | |
| </div><br />Auslesen von komponenten </font><font size="3"> </font><font size="3" face="courier new">'''FrmEdit.xGet('a_vorname');'''Setzen von Komponenten</font><font size="3"> </font><font size="3"> </font><font size="3" face="courier new">'''FrmEdit.xSet('a_vorname',Meier);'''<br /><br /><br />
| |
| | |
| =<font size="2" color="#000000" face="Arial"><font size="3">'''Mögliche Zugriffe auf Komponenten und Werte des Edits'''</font></font>=
| |
| | |
| <br /><div><font face="courier new">procedure InitScripter(ofrm:Tobject);<div><font face="courier new">var oSte : TEdit;<div><font face="courier new">begin<div><font face="courier new"> oSte := FrmEdit.FindComponent('stred_db_a_vzusatz');<div><font face="courier new"> Meldung(FrmEdit.stred_db_a_vzusatz.Text);<div><font face="courier new">end;<div><font face="courier new"><br /><div><font face="courier new"><br /><div><font face="courier new"><br /><div><font face="courier new">function OnEdCheck():string;<div><font face="courier new">var oSte : TEdit;<div><font face="courier new"> cEdit : String;<div><font face="courier new"> cVorname : String;<div><font face="courier new">begin<div><font face="courier new"><br /><div><font face="courier new"> if (FrmEdit.lEditMode) then begin<div><font face="courier new"> Meldung('Edit Mode True');<div><font face="courier new"> end else begin<div><font face="courier new"> Meldung('Edit Mode False');<div><font face="courier new"> end;<div><font face="courier new"><br /><div><font face="courier new"> Meldung(FrmEdit.stred_db_a_name.Text);<div><font face="courier new"><br /><div><font face="courier new"> oSte := FrmEdit.FindComponent('stred_db_a_name');<div><font face="courier new"> Meldung(oSte.Text);<div><font face="courier new"><br /><div><font face="courier new"> cVorname:= FrmEdit.xGet('a_vorname');<div><font face="courier new"> Meldung(cVorname);<div><font face="courier new"><br /><div><font face="courier new"> if (Empty(cVorname)) then begin<div><font face="courier new"> FrmEdit.lCheckOk := False;<div><font face="courier new"> Meldung('Bitte Vorname eingtragen');<div><font face="courier new"> end;<div><font face="courier new"><br /><div><font face="courier new">end;<div><font face="courier new"><br /><div><font face="courier new">Wenn möglich immer mit </font><font face="courier new">'''xGet'''</font><font face="courier new"> und </font><font face="courier new">'''xSet'''</font><font face="courier new"> auf Komponenten Werte zugreifen.<div><font size="3" face="courier new"><br /><br /><div><font size="5">'''<u>Listen Formulare</u>'''<br />folgende Funktionen stehen zur Verfügung:<br />InitScripterOnListNewOnResizeOnRefresh<br />Before_Close<br />Before_OnF1Before_OnF2Before_OnF3Before_OnF4Before_OnF5Before_OnF6Before_OnF7Before_OnF8Before_OnF9Before_OnF10Before_OnReturnBefore_OnInsertBefore_OnDeleteBefore_OnESC<br />OnF1OnF2OnF3OnF4OnF5OnF6OnF7OnF8OnF9OnF10OnReturnOnInsertOnDeleteOnESC<br />'''Beispiel:'''<br /><div><font face="courier new">var oListe : TxFrmListe;<div><font face="courier new"><br /><div><font face="courier new">procedure InitScripter(oFrm:Tobject);<div><font face="courier new">var cTable : String;<div><font face="courier new">begin<div><font face="courier new"> oListe := oFrm;<div><font face="courier new"> cTable := oListe.Name;<div><font face="courier new"> Meldung(cTable);<div><font face="courier new"> Meldung(oListe.Query.sql.text);<div><font face="courier new"> Meldung(oListe.Query.A2C('sys_uid'));<div><font face="courier new"> Meldung(oListe.cTable);<div><font face="courier new">end;<br />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 Prgrammfehler verursachen!<br /><br /><br /><div><font size="3" face="courier new"><br /><div><font size="3" face="courier new"><br />[[Category:html]]
| |
| ----
| |
| [[Benutzer:Auto import|Auto import]] 15:21, 25. Aug. 2011 (CEST)
| |