J'utilise cet outil assez souvent et je pense qu'il pourra être utile à certain, alors je partage.
Code : Tout sélectionner
;*******************
; PB 6.22 *
; Windows 11 *
Titre .s = "Aide Mémoire-V20251229"
Macro MacroGadgetItem ( _a_ , _b_ , _c_ )
AddGadgetItem ( ListIcon_Variables , -1 , _a_ + Chr(10) + _b_ + Chr(10) + _c_ )
EndMacro
Global Window_0
Global Option_Entier
Global Option_Relatif
Global Option_Flottant
Global Option_Chaine
Global Option_Logique
Global ListIcon_Variables
Global Button_Quitter
Global Text_1, Text_2, Text_3, Text_4, Text_5
Declare ButtonQuitterOnClick (EventType)
Declare OptionGadgetOnClik (EventType)
Procedure OpenWindow_0(x = 0, y = 0, width = 640, height = 230)
Window_0 = OpenWindow ( #PB_Any , x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Option_Entier = OptionGadget ( #PB_Any , 10 , 40 , 70 , 20 , "Entier" )
Option_Relatif = OptionGadget ( #PB_Any , 90 , 40 , 70 , 20 , "Relatif" )
Option_Flottant = OptionGadget ( #PB_Any , 170 , 40 , 70 , 20 , "Flottant" )
Option_Chaine = OptionGadget ( #PB_Any , 250 , 40 , 70 , 20 , "Chaine" )
Option_Logique = OptionGadget ( #PB_Any , 330 , 40 , 70 , 20 , "Logique" )
SetGadgetState ( Option_Entier , 1 )
ListIcon_Variables = ListIconGadget ( #PB_Any , 10 , 70 , 620 , 150 , "Extension" , 90 , #PB_ListIcon_GridLines )
AddGadgetColumn ( ListIcon_Variables , 1 , "Encombrement mémoire" , 180 )
AddGadgetColumn ( ListIcon_Variables , 2 , "Plage de valeurs" , 320 )
Button_Quitter = ButtonGadget ( #PB_Any , 530 , 10 , 100 , 20 , "Quitter" )
Text_1 = TextGadget ( #PB_Any , 10 , 0 , 120 , 20 , "Bin : %10010001" )
Text_2 = TextGadget ( #PB_Any , 140 , 0 , 120 , 20 , "Hex : $FE" )
Text_3 = TextGadget ( #PB_Any , 260 , 0 , 250 , 20 , "* : Pointeur" )
Text_4 = TextGadget ( #PB_Any , 10 , 20 , 250 , 20 , "@ : Adresse d'une Variable ou Procedure" )
Text_5 = TextGadget ( #PB_Any , 260 , 20 , 250 , 20 , "? : Adresse d'un Label" )
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
;CaseEnd
Case #PB_Event_Gadget
Select EventGadget()
Case Option_Entier
OptionGadgetOnClik(EventType())
;CaseEnd
Case Option_Relatif
OptionGadgetOnClik(EventType())
;CaseEnd
Case Option_Flottant
OptionGadgetOnClik(EventType())
;CaseEnd
Case Option_Chaine
OptionGadgetOnClik(EventType())
;CaseEnd
Case Option_Logique
OptionGadgetOnClik(EventType())
;CaseEnd
Case Button_Quitter
ButtonQuitterOnClick(EventType())
;CaseEnd
EndSelect
;CaseEnd
EndSelect
ProcedureReturn #True
EndProcedure
; *****************
; Les procédures d'initialisation de la ListIcon
Procedure InitTitresVariables()
SetGadgetItemText( ListIcon_Variables , -1, "Extension" , 0 )
SetGadgetItemText( ListIcon_Variables , -1, "Encombrement mémoire" , 1 )
SetGadgetItemText( ListIcon_Variables , -1, "Plage de valeurs" , 2 )
EndProcedure
Procedure InitTitresLogique()
SetGadgetItemText( ListIcon_Variables , -1, "Comparaison" , 0 )
SetGadgetItemText( ListIcon_Variables , -1, "Binaire" , 1 )
SetGadgetItemText( ListIcon_Variables , -1, "Description" , 2 )
EndProcedure
; *****************
OpenWindow_0()
; *****************
; Les procédures d'événements
Procedure ButtonQuitterOnClick ( EventType )
End
EndProcedure
Procedure OptionGadgetOnClik ( EventType )
If GetGadgetState ( Option_Entier )
InitTitresVariables()
ClearGadgetItems ( ListIcon_Variables )
MacroGadgetItem ( ".a" , "1 octet" , "0 a 255" )
MacroGadgetItem ( ".u" , "2 octet" , "0 à 65535" )
MacroGadgetItem ( ".c" , "2 octet" , "0 à 65535" )
ElseIf GetGadgetState ( Option_Relatif )
InitTitresVariables()
ClearGadgetItems ( ListIcon_Variables )
MacroGadgetItem ( ".b" , "1 octet" , "-128 à +127" )
MacroGadgetItem ( ".w" , "2 octet" , "-32768 à +32767" )
MacroGadgetItem ( ".l" , "4 octet" , "-2147483648 à +2147483647" )
MacroGadgetItem ( ".i" , "4 octet x86" , "-2147483648 à +2147483647" )
MacroGadgetItem ( ".i" , "8 octet x64" , "-9223372036854775808 à +9223372036854775807" )
MacroGadgetItem ( ".q" , "8 octet" , "-9223372036854775808 à +9223372036854775807" )
ElseIf GetGadgetState ( Option_Flottant )
InitTitresVariables()
ClearGadgetItems ( ListIcon_Variables )
MacroGadgetItem ( ".f" , "4 octets 06 Chiffres significatifs" , "±1.175494e-38 à ±3.402823e+38" )
MacroGadgetItem ( ".d" , "8 octets 15 Chiffres significatifs" , "±2.2250738585072013e-308 à ±1.7976931348623157e+308" )
ElseIf GetGadgetState ( Option_Chaine )
InitTitresVariables()
ClearGadgetItems ( ListIcon_Variables )
MacroGadgetItem ( ".s" , "longueur de la chaine + 1" , "illimité" )
MacroGadgetItem ( ".s{Lon}" , "longueur de la chaine" , "illimité" )
ElseIf GetGadgetState ( Option_Logique )
InitTitresLogique()
ClearGadgetItems ( ListIcon_Variables )
MacroGadgetItem ( "AND" , "&" , "ET logique" )
MacroGadgetItem ( "OR" , "|" , "OU logique" )
MacroGadgetItem ( "XOR" , "!" , "OU Exclusif" )
MacroGadgetItem ( "NOT" , "~" , "Non logique" )
MacroGadgetItem ( "" , ">>" , "Décalage binaire à droite" )
MacroGadgetItem ( "" , "<<" , "Décalage binaire à gauche" )
EndIf
EndProcedure
SetWindowTitle ( Window_0 , Titre )
OptionGadgetOnClik ( 0 )
; *****************
; La boucle principale
Repeat
Evenement = WaitWindowEvent()
Select EventWindow()
Case Window_0
Window_0_Events(Evenement)
;CaseEnd
EndSelect
Until Evenement = #PB_Event_CloseWindow
