Code : Tout sélectionner
Enumeration 0
#PB_Token_Text
#PB_Token_Keyword
#PB_Token_Comment
#PB_Token_Constant
#PB_Token_String
#PB_Token_Function
#PB_Token_Asm
#PB_Token_Operator
#PB_Token_Structure
#PB_Token_Number
#PB_Token_Pointer
#PB_Token_Separator
#PB_Token_Label
#PB_Token_Max
EndEnumeration
Structure PREFERENCES
CurrentLanguage.s
TabLength.l
RealTab.l
EnableColoring.l
EnableKeywordBolding.l
EnableLineNumbers.l
DisplayFullPath.l
EditorFontName.s
EditorFontSize.l
EditorFontStyle.l
BackgroundColor.l
ProcedureBackColor.l
LineNumberColor.l
LineNumberBackColor.l
CurrentLineColor.l
SelectionColor.l
TokenColor.l[13]
EndStructure
Global Prefs.PREFERENCES
Procedure.s GetSpecialFolderLocation(folder)
Protected pid, path.s
If SHGetSpecialFolderLocation_(#Null, folder, @pid) = #S_OK
path = Space(#MAX_PATH)
If ( SHGetPathFromIDList_(pid, @path) = #True ) And ( Right(path, 1) <> "\" )
path + "\"
EndIf
EndIf
ProcedureReturn path
EndProcedure
Procedure ReadPreferences()
Protected Filename.s = "PureBasic.prefs"
If FileSize(Filename) = -1
Filename = GetSpecialFolderLocation(#CSIDL_APPDATA) + "PureBasic\PureBasic.prefs"
EndIf
OpenPreferences(Filename)
PreferenceGroup("Global")
Prefs\CurrentLanguage = ReadPreferenceString("CurrentLanguage", "English")
Prefs\TabLength = ReadPreferenceLong ("TabLength", 2)
Prefs\RealTab = ReadPreferenceLong ("RealTab", #False)
Prefs\EnableColoring = ReadPreferenceLong ("EnableColoring", #False)
Prefs\EnableKeywordBolding = ReadPreferenceLong ("EnableKeywordBolding", #False)
Prefs\EnableLineNumbers = ReadPreferenceLong ("EnableLineNumbers", #False)
Prefs\DisplayFullPath = ReadPreferenceLong ("DisplayFullPath", #False)
PreferenceGroup("Editor")
Prefs\EditorFontName = ReadPreferenceString("EditorFontName", "Courier")
Prefs\EditorFontSize = ReadPreferenceLong ("EditorFontSize", 10)
Prefs\EditorFontStyle = ReadPreferenceLong ("EditorFontStyle", 0)
Prefs\BackgroundColor = ReadPreferenceLong ("BackgroundColor", $FFFFFF)
Prefs\ProcedureBackColor = ReadPreferenceLong ("ProcedureBackColor", $FFFFFF)
Prefs\LineNumberColor = ReadPreferenceLong ("LineNumberColor", $000000)
Prefs\LineNumberBackColor = ReadPreferenceLong ("LineNumberBackColor", $FFFFFF)
Prefs\CurrentLineColor = ReadPreferenceLong ("CurrentLineColor", $00FFFF)
Prefs\SelectionColor = ReadPreferenceLong ("SelectionColor", $808080)
Prefs\TokenColor[#PB_Token_Text ] = ReadPreferenceLong("NormalTextColor", $000000)
Prefs\TokenColor[#PB_Token_Keyword ] = ReadPreferenceLong("BasicKeywordColor", $000000)
Prefs\TokenColor[#PB_Token_Comment ] = ReadPreferenceLong("CommentColor", $000000)
Prefs\TokenColor[#PB_Token_Constant ] = ReadPreferenceLong("ConstantColor", $000000)
Prefs\TokenColor[#PB_Token_String ] = ReadPreferenceLong("StringColor", $000000)
Prefs\TokenColor[#PB_Token_Function ] = ReadPreferenceLong("PureKeywordColor", $000000)
Prefs\TokenColor[#PB_Token_Asm ] = ReadPreferenceLong("ASMKeywordColor", $000000)
Prefs\TokenColor[#PB_Token_Operator ] = ReadPreferenceLong("OperatorColor", $000000)
Prefs\TokenColor[#PB_Token_Structure] = ReadPreferenceLong("StructureColor", $000000)
Prefs\TokenColor[#PB_Token_Number ] = ReadPreferenceLong("NumberColor", $000000)
Prefs\TokenColor[#PB_Token_Pointer ] = ReadPreferenceLong("PointerColor", $000000)
Prefs\TokenColor[#PB_Token_Separator] = ReadPreferenceLong("SeparatorColor", $000000)
Prefs\TokenColor[#PB_Token_Label ] = ReadPreferenceLong("LabelColor", $000000)
ClosePreferences()
EndProcedure
ReadPreferences()
;Exemple
Debug "Police de votre IDE " + Prefs\EditorFontName + " Taille " + Prefs\EditorFontSize