Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: bikerboy am 18.04.13 - 14:23:21

Titel: Beim Speichern wird mein Code verändert
Beitrag von: bikerboy am 18.04.13 - 14:23:21
Hallo ich habe hier gerade eine recht komplexe @Function Formel geschrieben. Beim Testen habe ich leider nie mein gewünschtes Ergebnis gebracht. Nach Kontrolle des Codes ist mir auf gefallen, dass er mir beim Speichern die Formel umstellt.

Hier mal der Code den ich eigentlich eingebe:

Code
....
@Transform( @Unique(@Left(_key ; dLim2)) ; "_Key" ; _label[_Key] := @Transform(_labelList ; "_labelPos" ; @if(@Left(_labelPos ; dLim4) = _Key ; @Right(_labelPos; dLim4) ; @Nothing))); 
...

Hier das was notes draus macht:

Code
....
@Transform( @Unique(@Left(_key ; dLim2)) ; "_Key" ; [b]_label[_Key[/b]:= @Transform ( _labelList;"_labelPos" ; @If ( @Left(_labelPos;dLim4 ) =_Key ; @Right ( _labelPos;dLim4) ;@Nothing ) [b])])[/b];
....

Ich kann es mir leider nur nicht erklären.
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: bikerboy am 18.04.13 - 14:41:04
Gerade gesehen, dass ich ein bisschen blind war... da ich meine eigenen Variablen überschreibe. _key hatte ich ja schon in Verwendung und hatte es dann als temporäre Variable für das Transform. Hane das nun geändert, aber er macht es trotzdem .

Code
@Transform( @Unique(@Left(_key ; dLim2)) ; "_posKey" ; _label[ _posKey := @Transform (_labelList; "_labelPos" ; @If (@Left(_labelPos; dLim4 )= _posKey ; @Right (_labelPos;dLim4 ); @Nothing ))]);
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: dnotes am 18.04.13 - 15:20:32
wo steht denn der Code drin??
Wenn ich ihn in einen Button einfüge und speichere bleibt er genau so.

*nicht ganz

Aus @Transform( @Unique(@Left(_key ; dLim2)) ; "_Key" ; _label[_Key] := @Transform(_labelList ; "_labelPos" ; @if(@Left(_labelPos ; dLim4) = _Key ; @Right(_labelPos; dLim4) ; @Nothing)));
wird

@Transform( @Unique(@Left(_key ; dLim2)) ; "_Key" ; _label[_Key:= @Transform (_labelList; "_labelPos" ; @If (@Left(_labelPos; dLim4 )= _Key ; @Right (_labelPos;dLim4 ); @Nothing ))])
Ich bin mir aber nicht so ganz sicher wozu die eckigen Klammern dienen.
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: bikerboy am 18.04.13 - 15:44:51
Die eckige klammer sollte eine array adressierung sein.
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: dnotes am 18.04.13 - 15:55:29
Diese Formel bleibt bei mit identisch nach dem Speichern im Button.

@Transform( @Unique(@Left(_key ; dLim2)) ; "_posKey" ; _label[ _posKey := @Transform (_labelList; "_labelPos" ; @If (@Left(_labelPos; dLim4 )= _posKey ; @Right (_labelPos;dLim4 ); @Nothing ))])
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: bikerboy am 19.04.13 - 12:29:50
@Transform( @Unique(@Left(_key ; dLim2)) ; "_posKey" ; _label[ _posKey := @Transform (_labelList; "_labelPos" ; @If (@Left(_labelPos; dLim4 )= _posKey ; @Right (_labelPos;dLim4 ); @Nothing ))])
[/quote]

Ich glaube das ist falsch
Titel: Re: Beim Speichern wird mein Code verändert
Beitrag von: pram am 20.04.13 - 18:28:49
eine linksseitige Zuweisung der Art
Code
x[1] := "x"; 
ist nicht erlaubt.
Bei mir kommt dann die Fehlermeldung:
Zitat
:= must be immediately preceded by a field or variable name

d.h. deine Formel ist eigentlich falsch.

Gruß
Roland