Wrox Programmer Forums
|
Visual Basic 2010 General Discussion For any discussions about Visual Basic 2010 topics which aren't related to a specific Wrox book
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Visual Basic 2010 General Discussion section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old November 1st, 2011, 06:33 PM
Registered User
 
Join Date: Nov 2011
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Post Important Question about this Code

Right I'm trying to write a code to count up votes using arrays to store the votes. What I need is a way to count all of these eneter votes up (there are 100 BTW votes either a,b or c) If someone could help me here I would be very grateful

Option Explicit
Option Base 1 'all array variable elements numbered from 1 not 0

Sub Count_Votes()
'program to count the number of votes for A B and C

Dim iCount As Integer
Dim bFound As Boolean
Dim votes_cast(100) As String
Dim Count_Votes As Integer


'initialise votes_cast array
votes_cast(1) = "B"
votes_cast(2) = "C"
votes_cast(3) = "C"
votes_cast(4) = "B"
votes_cast(5) = "B"
votes_cast(6) = "B"
votes_cast(7) = "C"
votes_cast(8) = "A"
votes_cast(9) = "A"
votes_cast(10) = "A"
votes_cast(11) = "A"
votes_cast(12) = "A"
votes_cast(13) = "A"
votes_cast(14) = "A"
votes_cast(15) = "B"
votes_cast(16) = "B"
votes_cast(17) = "C"
votes_cast(18) = "B"
votes_cast(19) = "A"
votes_cast(20) = "B"
votes_cast(21) = "C"
votes_cast(22) = "B"
votes_cast(23) = "A"
votes_cast(24) = "B"
votes_cast(25) = "A"
votes_cast(26) = "C"
votes_cast(27) = "C"
votes_cast(28) = "B"
votes_cast(29) = "B"
votes_cast(30) = "B"
votes_cast(31) = "B"
votes_cast(32) = "A"
votes_cast(33) = "A"
votes_cast(34) = "A"
votes_cast(35) = "C"
votes_cast(36) = "C"
votes_cast(37) = "B"
votes_cast(38) = "A"
votes_cast(39) = "B"
votes_cast(40) = "A"
votes_cast(41) = "B"
votes_cast(42) = "C"
votes_cast(43) = "B"
votes_cast(44) = "C"
votes_cast(45) = "A"
votes_cast(46) = "A"
votes_cast(47) = "A"
votes_cast(48) = "C"
votes_cast(49) = "C"
votes_cast(50) = "B"
votes_cast(51) = "B"
votes_cast(52) = "B"
votes_cast(53) = "C"
votes_cast(54) = "B"
votes_cast(55) = "C"
votes_cast(56) = "B"
votes_cast(57) = "C"
votes_cast(58) = "B"
votes_cast(59) = "C"
votes_cast(60) = "B"
votes_cast(61) = "C"
votes_cast(62) = "A"
votes_cast(63) = "A"
votes_cast(64) = "C"
votes_cast(65) = "B"
votes_cast(66) = "A"
votes_cast(67) = "B"
votes_cast(68) = "C"
votes_cast(69) = "C"
votes_cast(70) = "B"
votes_cast(71) = "B"
votes_cast(72) = "B"
votes_cast(73) = "C"
votes_cast(74) = "A"
votes_cast(75) = "A"
votes_cast(76) = "A"
votes_cast(77) = "A"
votes_cast(78) = "A"
votes_cast(79) = "A"
votes_cast(80) = "A"
votes_cast(81) = "B"
votes_cast(82) = "B"
votes_cast(83) = "C"
votes_cast(84) = "B"
votes_cast(85) = "A"
votes_cast(86) = "B"
votes_cast(87) = "C"
votes_cast(88) = "B"
votes_cast(89) = "A"
votes_cast(90) = "B"
votes_cast(91) = "A"
votes_cast(92) = "C"
votes_cast(93) = "C"
votes_cast(94) = "B"
votes_cast(95) = "B"
votes_cast(96) = "B"
votes_cast(97) = "B"
votes_cast(98) = "A"
votes_cast(99) = "A"
votes_cast(100) = "A"

'code to count votes goes here





End Sub
 
Old November 1st, 2011, 08:30 PM
Friend of Wrox
 
Join Date: Sep 2010
Posts: 245
Thanks: 5
Thanked 24 Times in 23 Posts
Default

Try something like this:



Code:
Count_Votes = 0

' Count "A" votes
For iCount  = 1 to 100

   If votes_cast(iCount) = "A" then Count_Votes = Count_Votes + 1

Next iCount
__________________
Boyd Trimmell aka HiTechCoach (.com)
Microsoft Access MVP Alumni 2010-2015
 
Old November 4th, 2011, 10:45 PM
Friend of Wrox
 
Join Date: Sep 2005
Posts: 812
Thanks: 1
Thanked 53 Times in 49 Posts
Default

If you are using .NET, you can use methods like FindAll and get the length of the array

Cheers
Shasur
__________________
C# Code Snippets (http://www.dotnetdud.blogspot.com)

VBA Tips & Tricks (http://www.vbadud.blogspot.com)
 
Old March 7th, 2012, 05:25 PM
Registered User
 
Join Date: Mar 2012
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default

What language are you coding in? I can not get Option Base 1 to work in VB 2010 but know that it worked in very early VB versions.
 
Old April 3rd, 2012, 08:54 PM
Registered User
 
Join Date: Nov 2011
Posts: 9
Thanks: 2
Thanked 0 Times in 0 Posts
Default This code was written in VBA 2010

The code below answer the how do I count an array question, it was written in Visual Studio 2010 VBA but should run in most all version with only minor changes. It also contains some basic checks for wrong values and lower case entries.
You will also see that values for elements 99 and 100 were change to show code full functionality.
to dehirmet - You can set the lower limit to anything but 0 in version 2010 but this code also contains the work around.

To test code
Create a new windows form application
Drag 4 Labels from the tool bar with label1 on top then label2 below and so on.

Double click in a blank portion of the form to open the code window
copy code below and place between
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

and

End sub

Press F5 to run



Code:
       'program to count the number of votes for A B and C

        Dim votes_cast(100) As String
        ' you can not set the lower bounds of an array in VBA 2010 to anything but 0
        ' THIS CREATES AN ARRAY WITH 101 ELEMETS 0 TO 100
        ' WE WILL DEAL WITH ELEMENT 0 LATER
        'initialise votes_cast array
        votes_cast(1) = "B"
        votes_cast(2) = "C"
        votes_cast(3) = "C"
        votes_cast(4) = "B"
        votes_cast(5) = "B"
        votes_cast(6) = "B"
        votes_cast(7) = "C"
        votes_cast(8) = "A"
        votes_cast(9) = "A"
        votes_cast(10) = "A"
        votes_cast(11) = "A"
        votes_cast(12) = "A"
        votes_cast(13) = "A"
        votes_cast(14) = "A"
        votes_cast(15) = "B"
        votes_cast(16) = "B"
        votes_cast(17) = "C"
        votes_cast(18) = "B"
        votes_cast(19) = "A"
        votes_cast(20) = "B"
        votes_cast(21) = "C"
        votes_cast(22) = "B"
        votes_cast(23) = "A"
        votes_cast(24) = "B"
        votes_cast(25) = "A"
        votes_cast(26) = "C"
        votes_cast(27) = "C"
        votes_cast(28) = "B"
        votes_cast(29) = "B"
        votes_cast(30) = "B"
        votes_cast(31) = "B"
        votes_cast(32) = "A"
        votes_cast(33) = "A"
        votes_cast(34) = "A"
        votes_cast(35) = "C"
        votes_cast(36) = "C"
        votes_cast(37) = "B"
        votes_cast(38) = "A"
        votes_cast(39) = "B"
        votes_cast(40) = "A"
        votes_cast(41) = "B"
        votes_cast(42) = "C"
        votes_cast(43) = "B"
        votes_cast(44) = "C"
        votes_cast(45) = "A"
        votes_cast(46) = "A"
        votes_cast(47) = "A"
        votes_cast(48) = "C"
        votes_cast(49) = "C"
        votes_cast(50) = "B"
        votes_cast(51) = "B"
        votes_cast(52) = "B"
        votes_cast(53) = "C"
        votes_cast(54) = "B"
        votes_cast(55) = "C"
        votes_cast(56) = "B"
        votes_cast(57) = "C"
        votes_cast(58) = "B"
        votes_cast(59) = "C"
        votes_cast(60) = "B"
        votes_cast(61) = "C"
        votes_cast(62) = "A"
        votes_cast(63) = "A"
        votes_cast(64) = "C"
        votes_cast(65) = "B"
        votes_cast(66) = "A"
        votes_cast(67) = "B"
        votes_cast(68) = "C"
        votes_cast(69) = "C"
        votes_cast(70) = "B"
        votes_cast(71) = "B"
        votes_cast(72) = "B"
        votes_cast(73) = "C"
        votes_cast(74) = "A"
        votes_cast(75) = "A"
        votes_cast(76) = "A"
        votes_cast(77) = "A"
        votes_cast(78) = "A"
        votes_cast(79) = "A"
        votes_cast(80) = "A"
        votes_cast(81) = "B"
        votes_cast(82) = "B"
        votes_cast(83) = "C"
        votes_cast(84) = "B"
        votes_cast(85) = "A"
        votes_cast(86) = "B"
        votes_cast(87) = "C"
        votes_cast(88) = "B"
        votes_cast(89) = "A"
        votes_cast(90) = "B"
        votes_cast(91) = "A"
        votes_cast(92) = "C"
        votes_cast(93) = "C"
        votes_cast(94) = "B"
        votes_cast(95) = "B"
        votes_cast(96) = "B"
        votes_cast(97) = "B"
        votes_cast(98) = "A"
        votes_cast(99) = "a"
        votes_cast(100) = "d"
        Dim nAcount As Integer 'COUNTER FOR "A"
        Dim nBcount As Integer 'COUNTER FOR "B"
        Dim nCcount As Integer 'COUNTER FOR "C"
        Dim nBadVote As Integer 'counts any vote that are not A,B,C
        Dim temp As String 'used to hold value of array element after convertion to upper case. 
        'This ensures lower case votes are still counted (a good code thing)
        For i = 0 To votes_cast.GetLength(0) - 1 ' .GetLenth(0) returns number of elements in dimension 0.
            temp = UCase(votes_cast(i)) 'convert value in array to upper case and assign to temp
            Select Case temp
                Case "A"
                    nAcount = nAcount + 1 'if temp = A add 1 to counter
                Case "B"
                    nBcount = nBcount + 1 'if temp = B add 1 to counter
                Case "C"
                    nCcount = nCcount + 1 'if temp = C add 1 to counter
                Case Else
                    If i > 0 Then ' This keeps nBadvote for counting array element 0 which is Null
                        nBadVote = nBadVote + 1 ' If Temp is not A,B,C add 1 to counter
                    End If
            End Select

        Next i
        Label1.Text = " A votes = " + nAcount.ToString
        Label2.Text = " B votes = " + nBcount.ToString
        Label3.Text = " C votes = " + nCcount.ToString
        Label4.Text = "Bad Votes = " + nBadVote.ToString





Similar Threads
Thread Thread Starter Forum Replies Last Post
important Question phil0423 BOOK: Professional Android Application Development ISBN: 978-0-470-34471-2 0 June 8th, 2010 03:29 AM
Wroxunited code- Important emilyjacob123 BOOK: Beginning ASP.NET 2.0 BOOK VB ISBN: 978-0-7645-8850-1; C# ISBN: 978-0-470-04258-8 2 June 8th, 2007 01:01 PM
Important need help... riki_gill ASP.NET 1.x and 2.0 Application Design 0 October 25th, 2006 09:19 AM
Very important thing Kodak Javascript 6 September 10th, 2005 10:58 PM
important aylin_sk Oracle 2 February 25th, 2005 02:05 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.