OBS/System/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.
Datei:Pict001.jpg
Aufruf über STRG-F12 kann
in der Liste
im Edit-Dialog
in den Auswahlboxen
in 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.
Datei:Pict002.jpg
die Benutzeraktivitäten eingeschränkt werden:
Datei:Pict003.jpg
Name des Edit's ist der Klassenname
Makro 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 | |
Ü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 = 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');
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: 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 Prgrammfehler verursachen! |
Auto import 17:46, 4. Jul. 2011 (CEST)