The part with "#" above and below just wont work!? it just keeps saying:
"nullreference exception was handled
Object variable or With block variable not set."
someone please help this is my coursework for computing for wednesday
Also this is written with visual basic express.net 2010 btw.
Code:
Public Class Form1
Dim fname, sname, fletter_name, fletter_sname, random_let As String
Dim random_num As Integer
Dim refcode As Object
Dim counts As Integer
Dim minimum As Integer
Dim position As Integer
Dim item_num As Integer
Dim list(4) As Object
Dim counter As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
fname = InputBox("please enter first name")
sname = InputBox("please enter second name")
TextBox1.Text = fname
TextBox2.Text = sname
Call extracting_letters(fletter_name, fletter_sname)
Call random_generator(random_num, random_let)
TextBox3.Text = fletter_name & fletter_sname & random_num & random_let
Call queries(list, item_num, minimum)
End Sub
Private Sub extracting_letters(ByRef fname As String, ByRef sname As String)
'picks out first letter from both first and second name.
fletter_name = TextBox1.Text.Substring(0, 1)
fletter_sname = TextBox2.Text.Substring(0, 1)
End Sub
Private Sub random_generator(ByRef random_num As Integer, ByRef random_let As String)
'generate random number.
Dim number As Integer
Randomize()
random_num = number
number = Int(Rnd() * 10) + 1
'generate random letter.
random_let = Chr(Asc("a") + Int(26 * Rnd()))
End Sub
Private Sub queries(ByRef list, ByRef item_num, ByRef minimum)
Dim choice As Integer
Do
MsgBox("welcome to the graphics card slection screen")
choice = InputBox("Pease select an option to find:" & vbNewLine & "1 The fastest clock speed" & vbNewLine & "2 The most powerful processor" & vbNewLine & "3 The lowest storage for the highest cost" & vbNewLine & "4 Or end and display")
If choice = 1 Then
Call graphics_speeds(item_num, list(4), minimum)
End If
Loop Until choice = 4
End Sub
Private Sub graphics_speeds(ByRef item_num, ByRef list(), ByRef minimum)
Call setup(minimum, item_num, list) 'sets up list.
Call get_minimum(minimum) ' gets users input for number to search.
Call Find_minimum(minimum, item_num, list) ' counts the number of times users target number appears in the list.
End Sub
Private Sub setup(ByRef minimum, ByRef item_num, ByRef list)
'sets all values to zero.
minimum = 0
item_num = 0
lstspeeds.Items.Clear() 'clears list.
lstspeeds.Items.Add(1986)
lstspeeds.Items.Add(550)
lstspeeds.Items.Add(870)
lstspeeds.Items.Add(790)
lstspeeds.Items.Add(1600) 'fill list with array.
###############################################
Do
list(item_num) = Val(lstspeeds.Items(item_num))
###############################################
item_num = item_num + 1
Loop Until item_num = lstspeeds.Items.Count 'what do you say to make the program racognise how many items it has to go through?
End Sub
Private Sub get_minimum(ByRef minimum)
minimum = InputBox("Enter the number you would like to count") 'asking for number to be counted.
End Sub
Private Sub Find_minimum(ByRef minimum, ByRef item_num, ByRef list())
Dim position As Integer
Dim counts As Integer
counts = 0 'sets number of counts to 0
For position = 0 To item_num - 1 'sets sets position of counter to 0.
If list(position) > minimum Then
counts = counts + 1 'if the counter meets a number in the list that matches target the counts increase by 1.
End If
Next
MsgBox("There were " & (counts) & " graphics cards which have a faster clock speed")
End Sub
End class