Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: robertpp am 14.02.06 - 16:09:12

Titel: Hide-When Denkfehler
Beitrag von: robertpp am 14.02.06 - 16:09:12
Hallo,

Ich schaffe es einfach nicht diese Formel bei der Hide-When Abfrage so zu vereinfachen das ich keine @if- Abfrage mehr habe!!

_anzeigen := @False;
_verbergen := @True;
@If(
   @UserNamesList *= CreatorAuthors; _anzeigen;
   Status != ""; _verbergen;
   _verbergen
)

Ich hätte es mir das dann so vorgestellt:

_Zeigen1 := !(@UserNamesList *= CreatorAuthors);
_Zeigen2 := Status != "";
_Zeigen1 & ! _Zeigen2

Aber ich weiß das ich beim Status einen Fehler habe!!!!!!
Kann mir da bitte jemand helfen.
Ich hab schon alles durchprobiert.

Danke robert
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 14.02.06 - 16:15:01
!@UserNamesList *= CreatorAuthors | Status != ""

Ich glaube, kürzer geht das nicht mehr.
@True und @False braucht man bei Hide-whens in Wirklichkeit nicht, es reicht das Aufzählen der Bedingungen, wann verborgen werden soll.

HTH,
Bernhard
Titel: Re: Hide-When Denkfehler
Beitrag von: robertpp am 14.02.06 - 16:24:21
Bernhard,

Das war mir eh klar das ich das nicht brauche @True und @False ich hab das von Best Practics genommen und so hat es auch dann funktioniert. War echt ein denkfehler ich hab es immer mit & verknüpft.

danke robert
Titel: Re: Hide-When Denkfehler
Beitrag von: robertpp am 14.02.06 - 16:35:21
Doch noch ein Problem:

Ich brauch das ganze auch noch so: Wenn der User im CreatorReaders Feld steht und der Status >"0" ist dann soll es auch angezeigt werden!

Das sollte dann doch so aussehen:
_Zeigen1 := !(@UserNamesList *= CreatorReaders);
_Zeigen2 := Status >"0";
_Zeigen1 &  _Zeigen2

Oder??
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 14.02.06 - 16:44:28
Gerne, Robert.
Die Schwierigkeit mit den when-whens ist ja, dass man aus menschlicher Sicht immer alles auf den Kopf stellen muss. Hilfreich ist manchmal, wenn man sie die Formel so aufschreibt, als wenn es um das Anzeigen gehen würde, dann eine Klammer darum setzt und ein "!" davor  ;)

Bernhard

EDIT:
Das wäre dann
!@UserNamesList *= CreatorAuthors | Status !> "0"

Wegen der Verneinung wird aus dem AND nun ein OR.
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 14.02.06 - 16:48:47
Ggf. leichter lesbar wäre dann

!(@UserNamesList *= CreatorAuthors & Status > "0")

Bernhard
Titel: Re: Hide-When Denkfehler
Beitrag von: robertpp am 14.02.06 - 17:08:14
Ich weiß heute stelle ich mich an wie wenn ich Notes das erste mal benutze nur mach ich heute schon den ganzen Tag damit herum und deshalb frag ich lieber heute nach.
Kann ich auch wenn das Status-Feld ein Textfeld ist trotzdem auf Status > 0 abfragen oder muss ich dass so machen: Status >"0"?
Was ist da richtig?
danke robert

Titel: Re: Hide-When Denkfehler
Beitrag von: flaite am 14.02.06 - 17:14:17
@toNumber(Status) > 0
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 14.02.06 - 17:17:19
@ToNumber oder @TextToNumber kann man wohl nehmen, aber ich würde der Übersichtlichkeit lieber gleich bei den richtigen Typen bleiben:
Wenn es ein Textfeld ist, MUSST Du "0" nehmen, denn 0 ist eine Zahl und hat mit "0" soviel zu tun wie ein Schneepflug mit der Tiefseeforschung.

Bernhard
Titel: Re: Hide-When Denkfehler
Beitrag von: robertpp am 14.02.06 - 21:48:24
Danke nochmals.

Aber kann ich mathematisch gesehen trotzdem einen String auf größer oder kleiner Abfragen so wie ich es mit Status >"0" mache? Das kann ja dann garnicht gehen oder?
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 14.02.06 - 22:39:31
Da der Computer alles eines Abfolge von Bits verarbeitet: Doch, das kannst Du auch mit Strings machen, die nichts anderes sind als eine Abfolge von ASCII-Codes (okay, im Falle von Notes nicht ganz, aber egal).

"0" (als Zeichen!) ist 48, "1" ist 49 und so weiter.
Zahlen werten ebenso in Bytes (und letztendlich Bits) gewandelt und ebenso verglichen. Datumswerte sind in Wirklichkeit Datumsseriennummern (0 = 31.12.1899).

Damit gilt auch "Bernhard" < "Robert". Was heute aber nicht stimmt  ;D

Bernhard
Titel: Re: Hide-When Denkfehler
Beitrag von: flaite am 15.02.06 - 00:01:17
Es wird sogar "-1" vor "0" sortiert. Aber "-2" nach "-1". Ok. Ist eigentlich auch egal für < "0"
Titel: Re: Hide-When Denkfehler
Beitrag von: koehlerbv am 15.02.06 - 00:33:43
Axel, mach doch jetzt niemanden wirr  ;D

"-2" ist 45 50
"-1" ist 45 49
"0" ist 48

Lgisch, dass diese Strings so sortiert werden. Wer wirklich Zahlen sortieren will, nimmt ann am besten entsprechende Datenformate. Wer es nicht tut (und erst type conversions durchführen muss), erlebt bei entsprechenden Szenarien sein blaues Wunder ...

Bernhard
Titel: Re: Hide-When Denkfehler
Beitrag von: flaite am 15.02.06 - 06:32:40
Sollte nur ein Anstoß zum Nachdenken gewesen sein.
Ich habe es so oft gesehen, dass sich gewundert wurde, dass "10" plötzlich vor "2" sortiert wurde.
Man kann argumentieren, dass Werte möglichst den Wertetyp haben sollten als der sie wahrgenommen werden. Wobei ad-hoc Typkonvertierungen mit @toNumber Ressourcen beanspruchen (sprich Views langsamer machen).
Titel: Re: Hide-When Denkfehler
Beitrag von: robertpp am 15.02.06 - 07:40:30
Neuer Tag neues Glück. Heute ist es wieder vorbei mir der Lernstunde und somit nochmals danke für die Erklärung. Auch wenn ich es schon oft verwendet habe es war halt einfach mal interessant zu wissen wie genau das abläuft.


danke robert