OBS/System/OBS Anleitung Customize Edit: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Importing text file)
(Importing text file)
Zeile 1: Zeile 1:
<font face="Arial"><font size="20pt"></font></font>
<font size="2" color="#000000" face="Arial"> </font>


<center>OBS Anleitung Customize Edit<br /></center>
<div><center><font size="6">OBS Anleitung Customize Edit</font></center></div> <br />Beim Benutzer kann man über F9 Layout mit Level 5 den Schalter Customize aktivieren.<br />Der Firmenbeauftragte kann dann für den Benutzer Anpassungen für den Benutzer durchführen.Nach der Anpassung muss Customize deaktiviert werden.<br /><br /><div>[[Image:FRMEDITCUSTOMIZE_1.jpg]]</div><br />Aufruf über STRG-F12 kann<br />in der Listeim Edit-Dialogin den Auswahlboxenin den Auswertungen (F3 Formulare/Exports)in der Positionserfassung<br />Mit Rechter Maus Taste und gedrückt CTRL können auch die Weitere Funktionen (in den Listen) bearbeitet werden.<br /><div>[[Image:FRMEDITCUSTOMIZE_2.jpg]]</div><br /><br /><br />die Benutzeraktivitäten eingeschränkt werden:<br /><div>[[Image:FRMEDITCUSTOMIZE_3.jpg]]</div><br />Name des Edit’s ist der KlassennameMakro Gilt Standardmäßig für alle User (XXX) es kann aber auch ein spezifischer Benutzer angegeben werden.<br />Folgende Aufrufe sind möglich:<br /><div><font size="5">'''<u>Edit Formulare</u>'''<br />InitScripter wird nach dem Create des Fensters aufgerufen<br /><div>


<font face="Arial"><font size="3"><br /><br /></font></font>Beim Benutzer kann man über F9 Layout mit Level 5 den Schalter Customize aktivieren.<br /><br /> Der Firmenbeauftragte kann dann für den Benutzer Anpassungen für den Benutzer durchführen.<br /> Nach der Anpassung muss Customize deaktiviert werden.<br /><br /><br />[[Image:pict001.jpg]]<br /><font face="Arial"><font size="3"><br /> Aufruf über STRG-F12 kann<br /><br /> in der Liste<br /> im Edit-Dialog<br /> in den Auswahlboxen<br /> in den Auswertungen (F3 Formulare/Exports)<br /> in der Positionserfassung<br /><br /> Mit Rechter Maus Taste und gedrückt CTRL können auch die Weitere Funktionen (in den Listen) bearbeitet werden.<br /><br /></font></font><font face="Arial"><font size="3">[[Image:pict002.jpg]]</font></font><font face="Arial"><font size="3"><br /></font></font><font face="Arial"><font size="3"><br /><br /><br /> die Benutzeraktivitäten eingeschränkt werden:<br /><br /></font></font><font face="Arial"><font size="3">[[Image:pict003.jpg]]</font></font><font face="Arial"><font size="3"><br /></font></font><font face="Arial"><font size="3"><br /> Name des Edit's ist der Klassenname<br /> Makro Gilt Standardmäßig für alle User (XXX) es kann aber auch ein spezifischer Benutzer angegeben werden.<br /><br /> Folgende Aufrufe sind möglich:<br /><br /></font></font><font face="Arial">'''<u><font size="16pt">Edit Formulare<br /></font></u>'''</font><font face="Arial"><font size="3"><br /> InitScripter wird nach dem Create des Fensters aufgerufen<br /><br /></font></font>
{| cellspacing="-1" cellpadding="2"
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">'''Edit Kontroll Funktionen'''</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">'''Tastatur Funktionen'''</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">InitScripter</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">CheckIfChanged</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF1</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnESC</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF2</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdInit</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF3</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdFormInit</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF4</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdClose</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF5</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdRead</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF6</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdShow</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF7</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdVorb</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF8</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdCheck</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF9</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdSave</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnF10</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdSaveDirect</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnPGDN</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnEdReadDirect</font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnPGUP</font>
|- valign="top"
| width="297" valign="top" | <font size="2" color="#000000" face="Arial"><br /></font>
| width="297" valign="top" | <font size="2" color="#000000" face="Arial">OnRETURN</font>
|}


{| border="2"
</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 face="Arial">'''<font size="3">Edit Kontroll Funktionen</font>'''</font>
| <font face="Arial">'''<font size="3">Tastatur Funktionen</font>'''</font>
|-
| <font face="Arial"><font size="3"></font></font>
| <font face="Arial"><font size="3"></font></font>
|-
| <font face="Arial"><font size="3">InitScripter</font></font>
| <font face="Arial"><font size="3"></font></font>
|-
| <font face="Arial"><font size="3">CheckIfChanged</font></font>
| <font face="Arial"><font size="3">OnF1</font></font>
|-
| <font face="Arial"><font size="3">OnESC</font></font>
| <font face="Arial"><font size="3">OnF2</font></font>
|-
| <font face="Arial"><font size="3">OnEdInit</font></font>
| <font face="Arial"><font size="3">OnF3</font></font>
|-
| <font face="Arial"><font size="3">OnEdFormInit</font></font>
| <font face="Arial"><font size="3">OnF4</font></font>
|-
| <font face="Arial"><font size="3">OnEdClose</font></font>
| <font face="Arial"><font size="3">OnF5</font></font>
|-
| <font face="Arial"><font size="3">OnEdRead</font></font>
| <font face="Arial"><font size="3">OnF6</font></font>
|-
| <font face="Arial"><font size="3">OnEdShow</font></font>
| <font face="Arial"><font size="3">OnF7</font></font>
|-
| <font face="Arial"><font size="3">OnEdVorb</font></font>
| <font face="Arial"><font size="3">OnF8</font></font>
|-
| <font face="Arial"><font size="3">OnEdCheck</font></font>
| <font face="Arial"><font size="3">OnF9</font></font>
|-
| <font face="Arial"><font size="3">OnEdSave</font></font>
| <font face="Arial"><font size="3">OnF10</font></font>
|-
| <font face="Arial"><font size="3">OnEdSaveDirect</font></font>
| <font face="Arial"><font size="3">OnPGDN</font></font>
|-
| <font face="Arial"><font size="3">OnEdReadDirect</font></font>
| <font face="Arial"><font size="3">OnPGUP</font></font>
|-
| <font face="Arial"><font size="3"></font></font>
| <font face="Arial"><font size="3">OnRETURN</font></font>
|-
|
<font face="Arial"><font size="3"><br /> Jede Makro Funktion hat 2 Aufrufe <br /><br /> 1 Bevor die interne Delphi Funktion aufgerufen wird, gibt es einen Makro-Aufruf mit der Erweiterung Before_. <br /> Hat die Funktion den Rückgabewert &amp;lsquor;Ready', so wird die interne Delphi-Funktion nicht mehr aufgerufen. <br /> Diese Funktion wird unabhängig von der Delphi Funktion aufgerufen.<br /><br /></font></font>2 Standard Aufruf nach der internen Delphi Funktion. <br /> 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 /><font face="Arial">'''<font size="3"></font>'''</font>
<br />Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. Folgende Property’s stehen zu Verfügung<br /><div>


<center>Globale Variable FrmEdit<br /></center><font face="Arial"><font size="3"><br /> Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. <br /> Folgende Property's stehen zu Verfügung<br /><br /></font></font>
{| cellspacing="-1" cellpadding="2"
|- 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>
|}
|}


{| border="2"
</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 face="Arial">'''<font size="3">Property</font>'''</font>
| <font face="Arial">'''<font size="3">Erläuterung</font>'''</font>
|-
| <font face="Arial"><font size="3"></font></font>
| <font face="Arial"><font size="3"></font></font>
|-
| <font face="Arial"><font size="3">'lCheckOK'</font></font>
| <font face="Arial"><font size="3">Kann bei der Überprüfung von F2 benutzt werden ob die Eingabewerte korrekt eingegeben wurden sind.<br /> Bei False wird nicht abgespeichert.</font></font>
|-
| <font face="Arial"><font size="3">'lEditMode'</font></font>
| <font face="Arial"><font size="3">True = Insertmodus<br /> False = Editmodus</font></font>
|-
| <font face="Arial"><font size="3">'lDataUpdate'</font></font>
| <font face="Arial"><font size="3">True = Daten des Edits wurden verändert</font></font>
|-
| <font face="Arial"><font size="3">'lDataChecked'</font></font>
| <font face="Arial"><font size="3">False=Daten werden auf gültigkeit überprüft (lCheckok)</font></font>
|-
| <font face="Arial"><font size="3">'lCloseInsert'</font></font>
| <font face="Arial"><font size="3">Edit-Fenster wird (lEditMode = True) nach F2 geschlossen</font></font>
|-
| <font face="Arial"><font size="3">'lCloseEdit'</font></font>
| <font face="Arial"><font size="3">Edit-Fenster wird (lEditMode = False) nach F2 geschlossen</font></font>
|-
| <font face="Arial"><font size="3">'lDataESC'</font></font>
| <font face="Arial"><font size="3">Soll bei einer Änderung im Edit eine Abfrage beim Verlassen der Maske erscheinen</font></font>
|-
| <font face="Arial"><font size="3">'lCanLock'</font></font>
| <font face="Arial"><font size="3">Ob bei der Eingabe nur eine Person den Datensat editieren darf</font></font>
|-
| <font face="Arial"><font size="3">'lInsert'</font></font>
| <font face="Arial"><font size="3">Edit Felder im Insert/Überschreibemodus (zur zeit keine Funktion)</font></font>
|-
| <font face="Arial"><font size="3"><br /> Auslesen von komponenten         </font></font><font face="Courier New">'''<font size="3">FrmEdit.xGet('a_vorname');<br /></font>'''</font><font face="Arial"><font size="3">Setzen von Komponenten            </font></font><font face="Courier New">'''<font size="3">FrmEdit.xSet('a_vorname','Meier');<br /></font>'''</font><font face="Arial"><font size="3"><br />
 
----


<br /><br />
=<font size="2" color="#000000" face="Arial"><font size="3">'''Mögliche Zugriffe auf Komponenten und Werte des Edits'''</font></font>=


</font></font><font face="Arial">'''<font size="3"><center>Mögliche Zugriffe auf Komponenten und Werte des Edits<br /></center></font>'''</font> <font face="Arial"><font size="3"><br /></font></font><font face="Courier New"><font size="2">procedure InitScripter(ofrm:Tobject);<br /> var oSte : TEdit;<br /> begin<br /> oSte := FrmEdit.FindComponent('stred_db_a_vzusatz');<br /> Meldung(FrmEdit.stred_db_a_vzusatz.Text);<br /> end;<br /><br /><br /><br /> function OnEdCheck():string;<br /> var oSte : TEdit;<br /> cEdit : String;<br /> cVorname : String;<br /> begin<br /><br /> if (FrmEdit.lEditMode) then begin<br /> Meldung('Edit Mode True');<br /> end else begin<br /> Meldung('Edit Mode False');<br /> end;<br /><br /> Meldung(FrmEdit.stred_db_a_name.Text);<br /><br /> oSte := FrmEdit.FindComponent('stred_db_a_name');<br /> Meldung(oSte.Text);<br /><br /> cVorname:= FrmEdit.xGet('a_vorname');<br /> Meldung(cVorname);<br /><br /> if (Empty(cVorname)) then begin<br /> FrmEdit.lCheckOk := False;<br /> Meldung('Bitte Vorname eingtragen');<br /> end;<br /><br /> end;<br /><br /></font></font>Wenn möglich immer mit <font face="Courier New">'''<font size="2">xGet</font>'''</font><font face="Courier New"><font size="2"> und </font></font><font face="Courier New">'''<font size="2">xSet</font>'''</font><font face="Courier New"><font size="2"> auf Komponenten Werte zugreifen.<br /></font></font><font face="Courier New"><font size="3"><br /></font></font><font face="Arial"><font size="3"><br /></font></font><font face="Arial">'''<u><font size="16pt">Listen Formulare<br /></font></u>'''</font><font face="Arial"><font size="3"><br /> folgende Funktionen stehen zur Verfügung:<br /><br /> InitScripter<br /> OnListNew<br /> OnResize<br /> OnRefresh<br /><br /> Before_Close<br /><br /> Before_OnF1<br /> Before_OnF2<br /> Before_OnF3<br /> Before_OnF4<br /> Before_OnF5<br /> Before_OnF6<br /> Before_OnF7<br /> Before_OnF8<br /> Before_OnF9<br /> Before_OnF10<br /> Before_OnReturn<br /> Before_OnInsert<br /> Before_OnDelete<br /> Before_OnESC<br /><br /> OnF1<br /> OnF2<br /> OnF3<br /> OnF4<br /> OnF5<br /> OnF6<br /> OnF7<br /> OnF8<br /> OnF9<br /> OnF10<br /> OnReturn<br /> OnInsert<br /> OnDelete<br /> OnESC<br /><br /></font></font><font face="Arial">'''<font size="3">Beispiel:<br /></font>'''</font><font face="Arial"><font size="3"><br /></font></font><font face="Courier New"><font size="2">var oListe : TxFrmListe;<br /><br /> procedure InitScripter(oFrm:Tobject);<br /> var cTable : String;<br /> begin<br /> oListe := oFrm;<br /> cTable := oListe.Name;<br /> Meldung(cTable);<br /> Meldung(oListe.Query.sql.text);<br /> Meldung(oListe.Query.A2C('sys_uid'));<br /> Meldung(oListe.cTable);<br /> end;<br /></font></font><font face="Arial"><font size="3"><br /> wird bei den Before Funktionen "READY" zurückgegeben, so werden die internen Funktionen nicht mehr ausgeführt.<br /> Damit kann der natürliche Ablauf des Programmes veränder werden.<br /> Dies kann schwere Prgrammfehler verursachen!<br /><br /><br /><br /></font></font><font face="Courier New"><font size="3"><br /><br /></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]]
|}[[Category:hilfe]]
----
----
[[Spezial:Beiträge/Auto import|Auto import]] 17:09, 5. Jul. 2011 (CEST)
[[Benutzer:Auto import|Auto import]] 15:21, 25. Aug. 2011 (CEST)

Version vom 25. August 2011, 14:21 Uhr

OBS Anleitung Customize Edit


Beim Benutzer kann man über F9 Layout mit Level 5 den Schalter Customize aktivieren.
Der Firmenbeauftragte kann dann für den Benutzer Anpassungen für den Benutzer durchführen.Nach der Anpassung muss Customize deaktiviert werden.

FRMEDITCUSTOMIZE 1.jpg


Aufruf über STRG-F12 kann
in der Listeim Edit-Dialogin den Auswahlboxenin den Auswertungen (F3 Formulare/Exports)in der Positionserfassung
Mit Rechter Maus Taste und gedrückt CTRL können auch die Weitere Funktionen (in den Listen) bearbeitet werden.

FRMEDITCUSTOMIZE 2.jpg




die Benutzeraktivitäten eingeschränkt werden:

FRMEDITCUSTOMIZE 3.jpg


Name des Edit’s ist der KlassennameMakro Gilt Standardmäßig für alle User (XXX) es kann aber auch ein spezifischer Benutzer angegeben werden.
Folgende Aufrufe sind möglich:

Edit Formulare
InitScripter wird nach dem Create des Fensters aufgerufen
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
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.
2 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
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  = InsertmodusFalse = 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;

end;

Wenn möglich immer mit xGet und xSet auf Komponenten Werte zugreifen.


Listen Formulare
folgende Funktionen stehen zur Verfügung:
InitScripterOnListNewOnResizeOnRefresh
Before_Close
Before_OnF1Before_OnF2Before_OnF3Before_OnF4Before_OnF5Before_OnF6Before_OnF7Before_OnF8Before_OnF9Before_OnF10Before_OnReturnBefore_OnInsertBefore_OnDeleteBefore_OnESC
OnF1OnF2OnF3OnF4OnF5OnF6OnF7OnF8OnF9OnF10OnReturnOnInsertOnDeleteOnESC
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 Prgrammfehler verursachen!





Auto import 15:21, 25. Aug. 2011 (CEST)