Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 153
  • Last Modified:

select case

I'm making a calculator that requires the input of two out of seven variables. I figure there are about 42 possible combinations. I started by just using if , elseif etc. but quickly had such a mess I lost track of where I was. I'm thinking that maybe selsct case would be the way to go, but I've never used that before, could someone show me or have a better method. I'm using VB4 pro 16bit, my input variables are text6 - 12.
Thanks
0
ralphy
Asked:
ralphy
1 Solution
 
watyCommented:
Select Case Text6.Text
    Case "1":
           .....
    Case "Log":
          .....
    Case "+":
          .....
    Case Else
        ' *** Otherwise
End Select
0
 
jjbyersCommented:
Change your text boxes to a control array. Change the index on text6 to 0, then change the name of the rest to text6 and answer yes about a control array.

Use this code to check the text boxes

Dim var1() As String
Dim licnt As Integer
Dim licnt1 As Integer

  licnt1 = 0
  For licnt = 0 To 6
    If Len(Text6(licnt)) <> 0 Then
      ReDim Preserve var1(licnt1)
      var1(licnt1) = Text6(licnt)
      licnt1 = licnt1 + 1
    End If
  Next licnt
  Debug.Print licnt1
  For licnt = LBound(var1) To UBound(var1) - 1
    Debug.Print "A " & var1(licnt)
  Next licnt

Hope this helps.
0
 
mark2150Commented:
I agree that this is a case for a control array. Normally I'd set up a counter var and then sequence thru all of the controls in the array and increment the counter if one of the controls is non-blank. At the end of the loop, if the counter var is >=2 then you'll know at least two of your fields have been filled.

countvar = 0
for ndx = LBound( Cmd_array ) to UBount( Cmd_Array )
   if len( cmd_Array( ndx ).Text ) > 0 then countvar = countvar+1
next ndx
if countvar >1 then
 ... do stuff ...
else
 ... don't do stuff ...
endif

M

M

0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
toys032498Commented:
Take a look at using Tags!  Check it out!
Anthony
0
 
ralphyAuthor Commented:
waty
    I don't understand what the four cases are or mean, please explain in a little bit of detail.
   Thanks
Ralphy
0
 
watyCommented:
the value after the case are all the possible value. I will show you another example where you normally use an IF :

Select Case chkShowDetails.Value
        Case 0 :  '*** Unchecked
             frmDetails.Visible=False

        Case 1 :  '*** Checked
             frmDetails.Visible=True
             frmDetails.Show

        Case 2 :  '*** Grayed
             frmDetails.Visible=True
             frmDetails.Enabled=False
             frmDetails.Show

    End Select

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now