Page 1 of 1
Validate the 4 checkboxes if all of them are not checked
Posted: Tue May 21, 2024 8:45 am
by hoangdiemtinh
I am new to PB.
My primary language is not US/UK. I am using Google Translate.
I add 4 checkboxes to window. How to validate the 4 checkboxes if all of them are not checked.
Thanks.
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Tue May 21, 2024 8:53 am
by BarryG
What do you mean by "validate"? Could mean anything.
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Tue May 21, 2024 9:01 am
by hoangdiemtinh
Code: Select all
If (cb1 ! #PB_Checkbox_Checked) And If (cb2 ! #PB_Checkbox_Checked) And If (cb3 ! #PB_Checkbox_Checked) And If (cb4 ! #PB_Checkbox_Checked)
MessageRequester("infor", "Please select one Checbox at least", #PB_MessageRequester_Info)
EndIf
Does PB support this ?
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Tue May 21, 2024 9:08 am
by Caronte3D
Code: Select all
If OpenWindow(0, 0, 0, 270, 160, "CheckBoxGadgets Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CheckBoxGadget(0, 10, 10, 250, 20, "CheckBox 1") : SetGadgetState(0,1)
CheckBoxGadget(1, 10, 40, 250, 20, "CheckBox 2")
CheckBoxGadget(2, 10, 70, 250, 20, "CheckBox 3")
CheckBoxGadget(3, 10, 100, 250, 20, "CheckBox 4")
Repeat
If Not GetGadgetState(0) And Not GetGadgetState(1) And Not GetGadgetState(2) And Not GetGadgetState(3)
Debug ("All Checks off")
End
EndIf
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Tue May 21, 2024 9:15 am
by Demivec
hoangdiemtinh wrote: Tue May 21, 2024 9:01 am
Code: Select all
If (cb1 ! #PB_Checkbox_Checked) And If (cb2 ! #PB_Checkbox_Checked) And If (cb3 ! #PB_Checkbox_Checked) And If (cb4 ! #PB_Checkbox_Checked)
MessageRequester("infor", "Please select one Checbox at least", #PB_MessageRequester_Info)
EndIf
Does PB support this ?
Code: Select all
If (GetGadgetState(cb1) <> #PB_Checkbox_Checked) And
(GetGadgetState(cb2) <> #PB_Checkbox_Checked) And
(GetGadgetState(cb3) <> #PB_Checkbox_Checked) And
(GetGadgetState(cb4) <> #PB_Checkbox_Checked)
MessageRequester("infor", "Please select one Checbox at least", #PB_MessageRequester_Info)
EndIf
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Wed May 22, 2024 5:11 pm
by tua
Or less verbose:
Code: Select all
...
If Not(GetGadgetState(0) + GetGadgetState(1) + GetGadgetState(2) + GetGadgetState(3))
...
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Wed May 22, 2024 6:16 pm
by AZJIO
Code: Select all
GetGadgetState(cb1) & #PB_CheckBox_Unchecked
edit: this doesn't work because #PB_CheckBox_Unchecked=0 and will always return 0
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Thu May 23, 2024 8:33 am
by mk-soft
Code: Select all
If Not (GetGadgetState(0) | GetGadgetState(1) | GetGadgetState(2) | GetGadgetState(3) & #PB_Checkbox_Checked)
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Thu May 23, 2024 8:36 am
by mk-soft
AZJIO wrote: Wed May 22, 2024 6:16 pm
Code: Select all
GetGadgetState(cb1) & #PB_CheckBox_Unchecked
This does not work because the result is always zero.
Re: Validate the 4 checkboxes if all of them are not checked
Posted: Thu May 23, 2024 9:11 am
by RASHAD
Hi
#1 :
Code: Select all
If OpenWindow(0, 0, 0, 270, 160, "CheckBoxGadgets Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CheckBoxGadget(0, 10, 10, 250, 20, "CheckBox 0")
CheckBoxGadget(1, 10, 40, 250, 20, "CheckBox 1")
CheckBoxGadget(2, 10, 70, 250, 20, "CheckBox 2")
CheckBoxGadget(3, 10, 100, 250, 20, "CheckBox 3")
Repeat
Select WaitWindowEvent(1)
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0 To 3
If GetGadgetState(EventGadget()) & #PB_Checkbox_Checked
MessageRequester("Info","Gadget "+Str(EventGadget())+" Checked",#PB_MessageRequester_Ok)
For n = 0 To 3
SetGadgetState(n,0)
Next
EndIf
EndSelect
EndSelect
Until Quit = 1
EndIf
#2 :
Code: Select all
If OpenWindow(0, 0, 0, 270, 160, "CheckBoxGadgets Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CheckBoxGadget(0, 10, 10, 250, 20, "CheckBox 0")
CheckBoxGadget(1, 10, 40, 250, 20, "CheckBox 1")
CheckBoxGadget(2, 10, 70, 250, 20, "CheckBox 2")
CheckBoxGadget(3, 10, 100, 250, 20, "CheckBox 3")
AddWindowTimer(0,125,100)
Repeat
Select WaitWindowEvent(1)
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Timer
If checkflag = 1
checkflag = 0
For n = 0 To 3
SetGadgetState(n,0)
Next
EndIf
Case #PB_Event_Gadget
Select EventGadget()
Case 0 To 3
If GetGadgetState(EventGadget()) & #PB_Checkbox_Checked
MessageRequester("Info","Gadget "+Str(EventGadget())+" Checked",#PB_MessageRequester_Ok)
checkflag = 1
EndIf
EndSelect
EndSelect
Until Quit = 1
EndIf