Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: botschi am 07.02.07 - 09:15:08

Titel: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: botschi am 07.02.07 - 09:15:08
Moin,

wir haben eine Ansicht, die Dokumente mit verschiedenen Versionsnummern zeigt (1.80.09).
Die Versionsnummer ist ein Textwert.

Kann ich die Auswahl so gestalten, dass nur Versionsnummern kleiner als 1.85 angezeigt werden?
Oder Versionsnummer beginnt mit 1.85 oder niedriger?

Ich habs mit @TextToNumber versucht, aber irgendwie hats nicht funktioniert.

Matthias
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: Driri am 07.02.07 - 09:29:25
Zur Not zieh dir doch aus dem String die zweite Nummer raus und benutz die für ein Select.

Also z.B. @Middle(Versionsnummer;".";".") sollte dann den zweiten Wert aus der Versionsnummer zurückgeben.

Du müßtest dann halt prüfen, ob der erste Wert <= 1 ist und der zweite Wert < 85 ist.
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: klaussal am 07.02.07 - 09:32:47
Auf die Schnelle:

mit replace die Punkte entfernen und dann zur Zahl umwandeln

oder

mit @left, @right die Zahl "zusammenbasteln"...
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: dirk_2909 am 07.02.07 - 09:49:55
Du kannst auch direkt die Versionsnummer (den String) vergleichen.

Habe mal einen kleinen Test gemacht:

Code
_a := "1.86.001" ;
_b := "1.85.001" ;

_txt := @If( _a > _b ; "A ist größer" ; "B ist größer" ) ;

@StatusBar( _txt );

In dem o.g. Beispiel wird "A ist größer" ausgegeben.
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: botschi am 07.02.07 - 14:20:50
Ich habs so gelöst.

automat_tmp := @Right(@Left(autorelease;5);4);
automat := @ReplaceSubstring(automat_tmp;".";"");
SELECT Form = "frm_testfall" & (aktiv = 1) & (autorelease != "") &
(@Contains(autorelease;"2.00") | @TextToNumber(automat) <= 200)

Die Versionsnummer fängt immer mit 'V' an, also "V1.80.xxx"

Danke für den Gedankenaustausch.

Matthias
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: koehlerbv am 07.02.07 - 14:30:10
Und warum so kompliziert und nicht so, wie es Dirk schon beschrieben hat?

SELECT Form = "frm_testfall" & (aktiv = 1) & (autorelease != "" & autorelease < "V1.85")

Bernhard
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: dirk_2909 am 07.02.07 - 14:37:48
Herr Doktor, Herr Doktor.. alle ignorieren mich..
...
Der nächste Bitte!!


 :'(
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: DerAndre am 07.02.07 - 14:44:38
Dirk ich hab noch was anderes triviales gelernt...

@StatusBar

 :)
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: botschi am 07.02.07 - 15:50:16
Und warum so kompliziert und nicht so, wie es Dirk schon beschrieben hat?

SELECT Form = "frm_testfall" & (aktiv = 1) & (autorelease != "" & autorelease < "V1.85")

Bernhard

Das habe ich versucht. Die Versionsnummer ist aber manchmal auch "V1.85.90L_PL1" oder "V1.90.85.TRUNK". Irgendwann hat der Vergleich nicht mehr gestimmt und mir läuft die Zeit davon.
Was halt immer gleich ist, ist "Vx.xx".
Deswegen habe ich den "komplizierten" Fall genommen und mir die Nummer selber zusammengebastelt.

In Notes führen sehr oft viele Wege zum Ziel.
Nicht böse sein Dirk!

Matthias
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: koehlerbv am 07.02.07 - 15:56:25
Das verstehe ich jetzt nicht:
"V1.85.90L_PL1" ist kleiner als "V1.90.85.TRUNK", das zeigt der einfache String-Vergleich. Da musst Du also entweder einen anderen Fehler gemacht haben oder der Aufbau sieht doch manchmal anders aus.

Bernhard

PS: Und wenn die Nummern mal höher werden - "V1.8.5" < "V11.6.0" ist immer noch wahr ...
Titel: Re: Ansichtsauswahl vergleichen von Textwerten
Beitrag von: botschi am 07.02.07 - 16:33:46
Gut. Steter Tropfen höhlt den Stein.

Ich habs jetzt so:
SELECT Form = "frm_testfall" & (aktiv = 1) & (autorelease != "") &
(@Contains(autorelease;"2.00") | autorelease <= "V2.00") & (statustestfall = "testbereit") & (aktuellerergebnisbericht = "Nein")
Von dieser Ansicht brauche ich 3, jeweils für andere Releases, deswegen spreche ich einmal von "V1.85" und hier von "V2.00". Lasst euch nicht durch die Nummern verwirren, das Prinzip ist in allen 3 Ansichten gleich.

Ich bin auch für einfache Lösungen, keine Ahnung wo vorhin der Fehler war  :o

Bevor mein Account hier gelsöcht wird, nehme ich eure Lösung  ;D

Matthias