Read / WritePreferenceRGBColor

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Read / WritePreferenceRGBColor

Message par Guimauve »

Bonjour à tous,

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 <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<