0

bin neu und meine IF Funktion funktionert nicht

Hi Leute, 

ich bin ganz neu was das alles hier angeht und ich habe versucht aus einer Mehrfachauswahl eine Checkliste zu machen z.B habe ich eine Mehrfachauswahl mit den Optionen Name, Jahr und Email und dazu habe ich 3 separate Felder mit den gleichen Namen (Name, Email, Jahr). Wenn ich in das Feld Name was schreibe, sollte ein Haken bei der Mehrfachauswahl Name erscheinen aber ich bekomme immer einen Fehler.

"Ende erwartet" if in Zeile 2, Spalte 2"

 

Ich bedanke mich schon im Vorraus :)

4 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi  . Du könntest in den Feldeinstellungen jeweils unter "Trigger nach Änderung" ein Script hinterlegen. Die ID im Beispiel muß von Dir noch in die Ziffer der ID des Items des Mehrfachauswahlfelds umgewandelt werden, welches Du hinzufügen willst. numbers(check) ist das schon vorhandene Array der IDs, die schon gefüllt wurden. Mirko

    check := array(numbers(check),[ID])
    • Horst_Fertig
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Servus !

    Ich denke, folgendes sollte funktionieren - ob das Script sehr elegant ist oder eher nicht, lass ich mal dahingestellt. Aber bei "nur" 3 Optionen, die in Frage kommen, könnte man damit leben, denke ich...

    Mit folgendem Script beim Klick auf den Button...

    Check := null;
    let myArr := [0];
    if Name then myArr := [1] end;
    if Jahr then
        if myArr = 0 then myArr := [2] else myArr := [1, 2] end
    end;
    if Email then
        if myArr = 0 then
            myArr := [3]
        else
            if myArr = 1 then
                myArr := [1, 3]
            else
                if myArr = 2 then myArr := [2, 3] else myArr := [1, 2, 3] end
            end
        end
    end;
    let warning := dialog("Aktuell ausgewählt (alles)...", myArr, ["OK"]);
    Check := myArr
    

    oder ohne Button: Script beim Ereignis "Trigger nach Änderung" in JEDEM der drei Felder einbauen (die Zeile mit dem Dialog kann man natürlich weglassen.

    Kann natürlich auch so aussehen, ganz wie's beliebt...

    Das Ganze natürlich unter der Voraussetzung, dass die Optionen im Mehrfachauswahlfeld so ausschauen und alle Felder tatsächlich so heißen, ansonsten halt ein bissel anpassen...

     

    Ich hoffe, das hilft ein wenig weiter.

    Grüße

    HF

      • dasda_wddasd
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo @Horst Fertig  danke für deine Hilfe, leider sind es mehr 3 Optionen die ich zur Auswahl habe und es könnten später sogar noch mehr werden😅
      ich mag die Funktion "Trigger nach Änderung" mehr da sie automatisch funktioniert aber wenn ich dein Code in allen 3 Felder eingeben und dann in das Feld was schreibe, sehe ich keine Änderung bei Check.
       

      if Name != ""  then
          (Check.Name = true)
      end
      

      würde sowas in der Art nicht funktionieren?
      so was kleines und unkompliziertes? :)  

       

      LG

      • Horst_Fertig
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      Servus!

      Nein, ich befürchte, so ganz einfach, klein und unkompliziert wird's nicht werden. 

      Mit so etwas wie Check.Name = true kann Ninox schon mal eher gar nix anfangen, was dir der Script-Editor dann auch gleich anzeigt, wenn du so etwas versuchst.

      Wenn schon, dann wäre es z.B. Check := 1  - wenn 1 z.B. für die Option "Name" im Mehrfachauswahlfeld steht.

      ABER: Mit diesem "Check := X" schaltest du ja auch gleichzeitig alle anderen, eventuell bereits selektierten Optionen AUS und es bleibt NUR noch diese eine Auswahl übrig. Und das ist ja vermutlich nicht der Sinn der Übung, sondern wenn z.B. vorher schon Email abgehakt war (weil das Feld Email einen Inhalt (bekommen) hat, soll ja mit der zusätzlichen Eingabe im Feld Name auch die Option Name im Auswahlfeld zusätzlich abgehakt werden.

      Und das ist dann halt nur mit etwas Gebastel möglich wie in meinem Scriptbeispiel (das übrigens bei mir ganz problemlos und völlig "richtig" funktioniert, auch beim Entfernen eines Feldinhaltes - da wird das Häkchen ebenfalls sauber mit entfernt).

      Aber wenn dabei halt noch (viel) mehr Optionen und entsprechend Eingabefelder möglich sein sollen, taugt meine Konstruktion sicherlich eher nix, da das dann schnell viel zu unübersichtlich wird (weil immer mehr Kombinationsmöglichkeiten berücksichtigt werden müssen).

      Da braucht's dann sicherlich einen ganz anderen Ansatz, mit dem ich aber (zumindest im Moment) nicht wirklich dienen kann... Sorry.

      Grüße

      HF