0

Kurze Frage bezüglich dem SYNTAX "this"

Liebe Ninox Gemeinde!

Ich lese es immer und überall.. this hier this da.. 
Könnte jemand so lieb sein, und mir auf die Sprünge helfen. Auf was bezieht sich this? Ja, ok auf "DIESES" aber welches dieses :)

Ich habe file(this) oder printAndSaveRecord(this,...) oder let my:= this; was ist dieses sagenhafte this und auf was bezieht es sich.
Vielleicht ist ein Kenner so nett und bettet die Erklärung in ein oder zwei Beispiele ein.

Vielen Dank im Voraus. R

10 Antworten

null
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    This bezieht sich immer auf den Datensatz in dem du dich gerade befindest. Mit this kannst du alle Informationen eines Datensatzes beispielsweise in eine Variable schreiben Beispiel. Du befindest dich in einer Tabelle worin deine Kontakte gespeichert werden mit den Feldern

    Vorname, Nachname Telefon.  Schreibst du jetzt am Anfang:

    let myID : this;

    könntest du jetzt mit myID.Vorname auf das Feld des Vornamens zugreifen. Früher musste man für jedes Feld eine Variable erstellen let myName : Nachname; let myFirstName := Vorname usw mit this geht es einfacher. Bei file oder files ist es eben so das wenn du file(this) nimmt er den ersten Anhang in dem Datensatz willst du einen definieren musst du file(this, "name des Files") angeben, hast du mehrere musst du files(this) dieser listet dir alle anhänge auf. Mit dem print verhält es sich ähnlich.

    • Morris_Hanson
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Super! Vielen Dank! Lg Rene

    • Morris_Hanson
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ps. kann ich statt "myID" auch etwas anderes verwenden z.B. "AAA"??

    LG

    • Frank_Schafer
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Statt "myID" ist jeder gültige Variablen-Name möglich - auch "AAA" wenn dir das hilft ;) Ich würde möglichst sprechende Name empfehlen, das macht den Code lesbarer - für den aktuellen Datensatz der Kontakttabelle bietet sich z. B "aktuellerKontakt" als Variablenname an.

    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Klar kannst da reinschreiben was du willst, solltest aber wie Frank schon sagt relativ lesbare Variablen Namen nehmen. manche sind auch vom ninox system schon vergeben und können dann zu fehlern führen. Darum sollte man nicht let start := Datum; nehmen weil start wird von ninox schon verwendet oder auch let endof oder let Nr.

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    just my 2 cents:

     

    ich verwende für Variablen am liebsten einen Präfix, der mir im Code direkt als "mein Mist" in's Auge springt und der möglichst nicht in Feldnamen auftaucht. "my" hat sich da in der Praxis für mich absolut bewährt.

     

    lg, Torsten

    • Morris_Hanson
    • vor 5 Jahren
    • Gemeldet - anzeigen

    kann nach dem Befehl LET eigentlich alles stehen..? Egal wie lange? und egal was? oder gibt es da Einschränkungen. Habe mich immer auf 3 Buchstaben beschränkt... und versucht die Variablen nicht nach Feldnamen zu benennen.. Aber würde das eine Rolle spielen?

    LG

    • Morris_Hanson
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich frage deshalb, weil ich manchmal schon ganz schön viele Variablen in einem Skript brauche. Teilweise haben die Skripts schon 150 Zeilen :)

    • Morris_Hanson
    • vor 5 Jahren
    • Gemeldet - anzeigen

    und noch eine Frage..

    ist folgendes Skript auch mit this umsetzbar?

    let b := Nr;

    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ja mach es genauso wie thorsten, Leo hat die Erfahrung gemacht das nur ein Buchstabe schonmal zu problemen führt, kann ich aber bisher noch nicht bestätigen. @Swinxx das kann dir der Ninox Support bestimmt am besten beantworten hab bisher noch nicht ausprobiert eine variable mit 100 zeichen oder so ;-) Diese Case-sensitivity schreibweise kleinGroß, so hat man früher variablen deklariert ich hab es halt noch so gelernt muss man aber nicht so machen ist nur Leserlicher da ich ja kein leerzeichen in der deklaration nutzen darf es geht also auch let my_Name 

    Ja let b : this; wenn du jetzt nr benötigst schreibst einfach b.Nr im aufruf der Variable.

    LG Basti

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 10Antworten
  • 2979Ansichten