OBS/Makros und Scripting/Developer/Edits

Aus OBS Wiki
Version vom 13. September 2019, 10:01 Uhr von Heibutzki (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<pre> type TEventHandler = class {#EventDef} // procedure OnClick(Sender : TObject); procedure FrmObjEditEDInit(Sender: TObject);…“)
Zur Navigation springen Zur Suche springen

type
    TEventHandler = class
        {#EventDef}
        // procedure OnClick(Sender : TObject);

        procedure FrmObjEditEDInit(Sender: TObject);
        procedure FrmObjEditEDVorb(Sender: TObject);
        procedure FrmObjEditEDCheck(Sender: TObject; var lOK: Boolean);
        procedure FrmObjEditEDSave(Sender: TObject; cUNr: String);
    end;

var oEventHandler : TEventHandler;

{#CompDef}
var cbl_db_UT_SACHBEARBEITER : TCombiListe;
// var oLabel : TLabel;

procedure InitScripter();
begin

    oEventHandler := TEventHandler.Create();

    {#CompAssign}
    // oLabel := TLabel(FrmListe.FindComponent('oLabel'));

    cbl_db_UT_SACHBEARBEITER := TCombiListe(frmEdit.FindComponent('cbl_db_UT_SACHBEARBEITER'));

    {#EventAssign}
    // oLabel.OnClick := oEventhandler.OnResize;

    frmEdit.OnEDInit := oEventHandler.FrmObjEditEDInit;
    frmEdit.OnEDVorb := oEventHandler.FrmObjEditEDVorb;
    frmEdit.OnEDCheck := oEventHandler.FrmObjEditEDCheck;
    //frmEdit.OnEDSave := oEventHandler.FrmObjEditEDSave;

    //Idx();

    frmEdit.FrmObjEditEDRead(nil);

    frmEdit.Autosize := false;
    frmEdit.Width := 500;
    frmEdit.Height := 550;

end;

procedure TEventHandler.FrmObjEditEDInit(Sender : TObject);
begin
    // CBL-Zuweisungen, Komponenten freischalten/sperren,
    LCBL_Verk(cbl_db_UT_SACHBEARBEITER);
end;

procedure TEventHandler.FrmObjEditEDVorb(Sender: TObject);
var cNr : String;
begin
    // Felder füllen, die nicht automatisch von der db-Zuweisung gefüllt wurden
    if (frmEdit.lEditMode) then begin
        cNr := DB_NeuNumString(oDB, 'user_tische', 'ut_nr', NEUNUM_APPEND, '', '', '00000000', '99999999', '0', 8);
        frmEdit.xSet('ut_nr', cNr);
        cbl_db_UT_SACHBEARBEITER.Edit.Text := oApplication.cSachbearbeiter;
        cbl_db_UT_SACHBEARBEITER.Show.Text := DB_ReadSQLValue(FrmEdit.oEDB, 'S_VERK', 'v_name', 'v_nr = '+DB_SqlVal(cbl_db_UT_SACHBEARBEITER.Edit.Text));
    end;
end;

procedure TEventHandler.FrmObjEditEDCheck(Sender: TObject; var lOK: Boolean);
begin
    // darf gespeichert werden?
    lOk := true;
    if (lOk) then begin
        if (empty(frmEdit.xGet('ut_name'))) then begin
            lOk := false;
            Meldung('Bezeichnung darf nicht leer sein!');
        end;
    end;

end;

procedure TEventHandler.FrmObjEditEDSave(Sender: TObject; cUNr: String);
begin
    // Speichervorgang...
end;