Voici un autre code qui ne mérite pas un Prix Nobel, j'espère qu'il pourra être utile à quelqu'un
A+
Guimauve
Code : Tout sélectionner
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Nom du projet : Read / WritePreferenceRGBColor
; Nom du fichier : Read-WritePreferenceRGBColor.pb
; Version du fichier : 1.0.0
; Programmation : OK
; Programmé par : Guimauve
; Date : 08-05-2011
; Mise à jour : 13-01-2012
; Code PureBasic : 4.60 - 4.61
; Plateforme : Windows, Linux, MacOS X
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Procedure WritePreferenceRGBColor(KeyWord.s, Color.l)
WritePreferenceString(KeyWord, "RGB(" + RSet(Str(Red(Color)), 3, "0") + ", " + RSet(Str(Green(Color)), 3, "0") + ", " + RSet(Str(Blue(Color)), 3, "0") + ")")
EndProcedure
Procedure ReadPreferenceRGBColor(KeyWord.s, Color.l)
Formatted_Color.s = ReadPreferenceString(KeyWord, "RGB(" + RSet(Str(Red(Color)), 3, "0") + ", " + RSet(Str(Green(Color)), 3, "0") + ", " + RSet(Str(Blue(Color)), 3, "0") + ")")
If Formatted_Color = ""
ColorValue.l = Color
Else
Values.s = StringField(StringField(Formatted_Color, 2, "("), 1, ")")
Red.a = Val(StringField(Values, 1, ","))
Green.a = Val(StringField(Values, 2, ","))
Blue.a = Val(StringField(Values, 3, ","))
ColorValue.l = (Blue) << 16 + (Green) << 8 + (Red)
EndIf
ProcedureReturn ColorValue
EndProcedure
Procedure WritePreferenceRGBAColor(KeyWord.s, Color.l)
WritePreferenceString(KeyWord, "RGBA(" + RSet(Str(Red(Color)), 3, "0") + ", " + RSet(Str(Green(Color)), 3, "0") + ", " + RSet(Str(Blue(Color)), 3, "0") + ", " + RSet(Str(Alpha(Color)), 3, "0") + ")")
EndProcedure
Procedure ReadPreferenceRGBAColor(KeyWord.s, Color.l)
Formatted_Color.s = ReadPreferenceString(KeyWord, "RGBA(" + RSet(Str(Red(Color)), 3, "0") + ", " + RSet(Str(Green(Color)), 3, "0") + ", " + RSet(Str(Blue(Color)), 3, "0") + ", " + RSet(Str(Alpha(Color)), 3, "0") + ")")
If Formatted_Color = ""
ColorValue.l = Color
Else
Values.s = StringField(StringField(Formatted_Color, 2, "("), 1, ")")
Red.a = Val(StringField(Values, 1, ","))
Green.a = Val(StringField(Values, 2, ","))
Blue.a = Val(StringField(Values, 3, ","))
Alpha.a = Val(StringField(Values, 4, ","))
ColorValue = (Alpha) << 24 + (Blue) << 16 + (Green) << 8 + (Red)
EndIf
ProcedureReturn ColorValue
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< FIN DU FICHIER <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<