Validate the 4 checkboxes if all of them are not checked

Just starting out? Need help? Post your questions and find answers here.
hoangdiemtinh
User
User
Posts: 97
Joined: Wed Nov 16, 2022 1:51 pm

Validate the 4 checkboxes if all of them are not checked

Post 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.
PC: Windows 10 x64, 8GB RAM. PB ver: 6.x
--
I love PB5 vs PB6 :)
BarryG
Addict
Addict
Posts: 4219
Joined: Thu Apr 18, 2019 8:17 am

Re: Validate the 4 checkboxes if all of them are not checked

Post by BarryG »

What do you mean by "validate"? Could mean anything.
Last edited by BarryG on Thu May 23, 2024 11:23 am, edited 2 times in total.
hoangdiemtinh
User
User
Posts: 97
Joined: Wed Nov 16, 2022 1:51 pm

Re: Validate the 4 checkboxes if all of them are not checked

Post 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 ?
PC: Windows 10 x64, 8GB RAM. PB ver: 6.x
--
I love PB5 vs PB6 :)
User avatar
Caronte3D
Addict
Addict
Posts: 1371
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: Validate the 4 checkboxes if all of them are not checked

Post 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
User avatar
Demivec
Addict
Addict
Posts: 4281
Joined: Mon Jul 25, 2005 3:51 pm
Location: Utah, USA

Re: Validate the 4 checkboxes if all of them are not checked

Post 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
tua
User
User
Posts: 68
Joined: Sun Jul 23, 2023 8:49 pm
Location: BC, Canada

Re: Validate the 4 checkboxes if all of them are not checked

Post by tua »

Or less verbose:

Code: Select all

...
  If Not(GetGadgetState(0) + GetGadgetState(1) + GetGadgetState(2) + GetGadgetState(3))
...
AZJIO
Addict
Addict
Posts: 2225
Joined: Sun May 14, 2017 1:48 am

Re: Validate the 4 checkboxes if all of them are not checked

Post 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
Last edited by AZJIO on Thu May 23, 2024 5:40 pm, edited 1 time in total.
User avatar
mk-soft
Always Here
Always Here
Posts: 6320
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Validate the 4 checkboxes if all of them are not checked

Post by mk-soft »

Code: Select all

If Not (GetGadgetState(0) | GetGadgetState(1) | GetGadgetState(2) | GetGadgetState(3) & #PB_Checkbox_Checked)
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
User avatar
mk-soft
Always Here
Always Here
Posts: 6320
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Validate the 4 checkboxes if all of them are not checked

Post 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.
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4991
Joined: Sun Apr 12, 2009 6:27 am

Re: Validate the 4 checkboxes if all of them are not checked

Post 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
Egypt my love
Post Reply