Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TazDevil20 am 22.08.06 - 15:47:35

Titel: Querysave Problem/RGB umrechnung
Beitrag von: TazDevil20 am 22.08.06 - 15:47:35
Hallo,

habe ein kleines LotusScript welches die Farbwerte in Hex umwandelt (habe hier mal einen Link gefunden, welcher auf das Script verwiesen hat). Nach ein paar Anpassungen hat es auch wunderbar funktioniert. Jedoch sobald ich das Script in Querysave einfüge und für mehrere Farbfelder ausführen lasse, nimmt Notes für alle Umrechnungen das Farbfeld wo zuletzt die Auswahl war.

Ich habe in meiner Maske 3 Farbfelder und 3 versteckte Textfelder. Folgendes Script steht im Querysave drin:

Zitat
Sub Querysave(Source As Notesuidocument, Continue As Variant)
   
   'Hintergrundfarbe in RGB umwandeln und in Feld schreiben
   var_rgbHintergrund = source.FieldGetText( Cstr(hintergrundfarbe))
   
   If Len(var_rgbHintergrund) <> 8 Then Exit Sub
   rHintergrund = Cint("&H" & Right(Left(var_rgbHintergrund, 4), 2))
   gHintergrund = Cint("&H" & Right(Left(var_rgbHintergrund, 6), 2))
   bHintergrund = Cint("&H" & Right(var_rgbHintergrund, 2))
   
   
   Call source.FieldSetText("rgbHintergrund", Cstr(rHintergrund) + "," + Cstr(gHintergrund) + "," + Cstr(bHintergrund))
   
   'Textfarbe in RGB umwandeln und in Feld schreiben   
   var_rgbText = source.FieldGetText( Cstr(textfarbe))
   
   If Len(var_rgbText) <> 8 Then Exit Sub
   rText = Cint("&H" & Right(Left(var_rgbText, 4), 2))
   gText = Cint("&H" & Right(Left(var_rgbText, 6), 2))
   bText = Cint("&H" & Right(var_rgbText, 2))
   
   Call source.FieldSetText("rgbText", Cstr(rText) + "," + Cstr(gText) + "," + Cstr(bText))
   
   
   'Hyperlinkfarbe in RGB umwandeln und in Feld schreiben   
   var_rgbhyper = source.FieldGetText( Cstr(hyperlinkfarbe))
   
   If Len(var_rgbhyper) <> 8 Then Exit Sub
   rhyper = Cint("&H" & Right(Left(var_rgbhyper, 4), 2))
   ghyper = Cint("&H" & Right(Left(var_rgbhyper, 6), 2))
   bhyper = Cint("&H" & Right(var_rgbhyper, 2))
   
   Call source.FieldSetText("rgbLink", Cstr(rhyper) + "," + Cstr(ghyper) + "," + Cstr(bhyper))
   
End Sub

Wie gesagt, wenn nur ein Farbfeld umgewandelt wird funktioniert alles. Sobald es mehrere sind geht es schief.

Was habe ich falsch gemacht??

Schonmal danke für die Hilfe.
Titel: Re: Querysave Problem/RGB umrechnung
Beitrag von: Tode am 23.08.06 - 10:37:49
mit option declare kommst DU selbst drauf....

Tipp: hintergrundfarbe,  textfarbe und hyperlinkfarbe sind nicht gefüllt...

Gruß
Tode
Titel: Re: Querysave Problem/RGB umrechnung
Beitrag von: TazDevil20 am 23.08.06 - 13:09:40
Vielen Dank für den Tipp! Habe meinen Fehler gefunden.

bei den FieldGetText ist das Cstr unnötig und das Feld muss in Anführungszeichen stehen...