0

Globle Funktion

Was ist eine "Globale Funktion" und wofür wird sie verwendet?

11 Antworten

null
    • Michael_Martin
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Über die Globale Funktion kannst Du Codeschnipsel erstellen die Du dann in deiner ganzen Datenbank verwenden kannst. Somit brauchst Du den Code nur einmal schreiben und immer wieder an verschiedenen Stellen aufrufen.

    • buerstenwerkstatt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Michael, vielen Dank für Deine schnelle Information.

    Viele Grüße Volker

    • Michael_Martin
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hier der Auszug von dieser Webseite:

     

    Global Function Definitions
    Ninox bietet jetzt eine Option zum Speichern von Logik, die mehrfach verwendet wird, an einem zentralen Ort. Auf der Registerkarte "Optionen" gibt es eine neue Einstellung für global definierte Funktionen. Um ein kurzes Beispiel zu geben:

    function hello(name : text) do
        "Hello " + name + "! Good to see you."
    end;
    function bye(name : text) do
       "Good bye " + name + "!"
    end
    In jedem anderen Teil von Ninox können Sie diese Funktionen aufrufen:

    alert(hello("John"));
    alert(bye("Lisa"))

    • garcea
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Geht das auch mit Variablen? Global definieren?

    Gruß

    • Frank_Schafer
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo,

    mit Variablen funktioniert das nicht. Du kannst aber etwas vergleichbares erhalten, wenn du die "globalen Variablen" in einer (ggfls. versteckten) Tabelle speicherst. Ich nutze dafür je nach Bedarf eine Tabelle "Setup" für datenbankweite Daten und eine Tabelle "Benutzer" für die Benutzerabhängigen Daten.

    Den Zugriff auf diese Daten kannst du dann über globale Funktionen [z. B. setVariable(neuerWert) und Wert := getVariable()] kapseln...

    VG Frank

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ja, das sollte gehen:

     

    function myXYZ() do
       1000
    end

     

    Aufruf dann mit

     

    myXYZ()

    • garcea
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die Antwort...

    Werde es so versuchen wie von euch vorgeschlagen.

     

    mfg

    • garcea
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Das geht...

    wenn wir schon dabei sind.... :)

    Wie Kann ich in den "Globale Funktion" auf eine Tabellenspalte zugreifen?

     

    mfg.

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Genauso, wie sonst auch. Mit "select TABELLE.FELD". Das Ergebnis schreibst du in eine Variable und übergibst diese zurück an den aufrufenden Code. 

    • Modepark_IT
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo,

    entweder übergibst du die Tabelle als Parameter - z.B.:

    function machIrgendwasMitMeinemKunden(meinKunde : 'Kunde') do
      meinKunde.Nummer := "TODO"

    end

    oder du holst dir die über ein select hinein - z. B.:

    function getEigeneSteuernummer() do
      let mySetup := first(select 'Setup');
      mySetup.Steuernummer;
    end

    VG Frank

    • garcea
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank!!!