Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Roooky am 19.12.07 - 12:04:38

Titel: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 19.12.07 - 12:04:38
Maaahlzeit!

Mal was leichtes für Zwischendurch, denke ich zumindest...

Ich habe eine Liste und möchte mir den Max-Wert anzeigen lassen. @max ist da voll super. Im nächsten Schritt möchte ich mir die Position des Max-Wertes im dem berechneten Textfeld "PosMax" anzeigen lassen. Ich schreibe da also rein:

@Member(A_max; A_Liste)

und bekomme die Fehlermeldung: "Feld 'PosMax': Falscher Datentyp für Operator oder @-Funktion: Text erwartet"
A_max und A_Liste sind beides berechnete Textfelder. Ich hab aus PosMax ein Zahlenfeld gemacht - keine Änderung...

Syntax Error?

Denn fröhliches Spachteln allerseits  ;D
...und Danke schonmal!
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Axel am 19.12.07 - 12:43:19
Die Fehlermeldung bezieht nicht auf das Feld sondern eher auf einen der Parameter. Wahrscheinlich ist A_Max oder A_Liste von falschen Datentyp.


Axel
 
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 19.12.07 - 12:47:49
Ja, das glaube ich auch - aber ich hab doch Text, in A_max und A_Liste! So stehts auch in der Hilfe zu @member. Ich versteh das nicht...
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Axel am 19.12.07 - 13:11:42
... aber ich hab doch Text, in A_max und A_Liste...


Bist du dir da sicher?


Axel
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 19.12.07 - 13:23:07
100 Pro! Beides sind berechnete Textfelder. Wenn ich zum Beispiel schreibe:

@Member("3"; A_Liste), gehts genausowenig wie bei
@Member(A_max; "1" : "2" : "3")

nur bei
@Member("3"; "1" : "2" : "3") krieg ich richtigerweise "3" zurück.
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Axel am 19.12.07 - 13:32:51
Dann versuch's mal so:

@Member(@Text(A_max); @Text(A_Liste))

Ist zwar paradox, aber wer weiß...


Axel
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 19.12.07 - 13:54:41
AAAHHHH, ich glaub ich weiß woran es liegt! Mein Listenfeld ist zwar Text, ruft aber die Zahlenfelder A1, A2, A3 auf, also

A_Liste = A1 : A2 : A3

Wenn ich schreibe:
A_Liste = @text(A1) : @text(A2) : @text(A3)

dann funzt es voll!!!

Danke für die Hilfe!


Axel, du warst schneller  ;D
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: klaussal am 19.12.07 - 14:01:36
Zitat
100 Pro!
  >:D  :-P
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 19.12.07 - 14:29:18
 ::)
Naja, war ja auch son bisschen von hinten durch die Brust ins Auge!
Außerdem beachte man auch meinen Nickname, ich darf das!  ;)

Ich hätt da noch mal was:
Kann man sich von @member auch ne Liste zurückgeben lassen? In meinem Fall hat die ursprüngliche Liste nämlich oftmals gleiche Werte, und ich hätte gerne die Position von allen. Geht das wohl irgendwie?
Lutz
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: klaussal am 19.12.07 - 14:33:11
Zitat
Rückgabewert
Position
Zahl
Gibt 0 zurück, wenn der Wert nicht in Zeichenfolgenliste enthalten ist.
Gibt 1 bis n zurück, wenn der Wert in Zeichenfolgenliste enthalten ist. Hierbei ist 1 bis n die Position des Werts in Zeichenfolgenliste.

Sieht nicht danach aus.
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Axel am 19.12.07 - 14:39:55
Gehen tut das schon, aber nur mit einigem Programmieraufwand. Einen Befehl dafür gibt's nicht.

Liste Element für Element durchlaufen, Prüfen ob das Element dem entsprechenden Wert entspricht, wenn ja, dann Position merken (oder in eine weitere Liste schreiben).

Mit Script müsste das auf jeden Fall gehen. Bei der Formelsprache in Anbetracht der Schleifenbefehle eigentlich auch. Da bin ich mir aber nicht ganz sicher.


Axel
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: Roooky am 20.12.07 - 09:34:26
Dann probier ich das mal - vielen Dank für den Denkanstoß!
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: ata am 20.12.07 - 18:59:24
@Roooky

.. das sollte mit @Replace funktionieren:

Code
v1 := @Trim(@Replace( Liste_1 ; Liste_2 ; "" )) ;

REM {... gibt die Werte zurück, die nicht doppelt vorhanden sind... };

v2 := @Trim( @Replace( Liste_1 ; v1 ; "" ) ) ;

REM {... gibt die gemeinsamen Werte als Liste zurück...};

... so auf die schnelle...

Toni
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: koehlerbv am 20.12.07 - 19:05:50
Aber die originale Position ist dann zerstört, Toni.

Und ja: Man kann das auch mit @functions (ab R6) machen, mit LS sowieso.

Bernhard
Titel: Re: Position des Max-Wertes nicht angezeigt
Beitrag von: ata am 20.12.07 - 19:10:13
... ich hatte es so verstanden, daß er eine Liste haben wollte - mit Positionen wäre sicherlich komplexer - geht aber auch...

Toni

*edit*
Ich sehe gerade, daß die Positionen als Liste benötigt waren - wer lesen kann ist klar im Vorteil ;D