'///////////////////// jmg - final 12/18/07 ///////////// Public Class Form1 '//////// GLOBAL DATA Const MAXSIZE As Integer = 50 ' Maximum array size Dim many As Integer = 20 ' Actual size used. (Number of elements used.) '//////// Input data. Dim a(MAXSIZE) As Integer ' Array of values. '//////// METHODS FOR FILE INPUT //////// Private Sub bAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bAdd.Click '//////// Get next input from form; store into array. Dim nextval As Integer Call getInputs(nextval) '//// Store the values into array(s). Call storeValues(nextval) End Sub Sub getInputs(ByRef nextval As Integer) '//// Get input value(s) from the form. '//// Get input value(s) nextval = Val(Me.tID.Text) '//// Also, clear the input(s). Me.tID.Text = "" Me.tID.Focus() End Sub Sub storeValues(ByVal nextval As Integer) '//////// Store the value(s) into the array(s). '//// Check for room in array, bad values, etc. If (many >= MAXSIZE) Then MsgBox("No more room in arrays: ", many) Return ElseIf (nextval <= 0) Then ' Error check(s) MsgBox("Bad value ignored: ", nextval) Return Else '//// Advance the index, for next array element. many += 1 ' Next Dim n = many '//// Store the input value(s) into the array(s). a(n) = nextval End If End Sub '///////// METHODS FOR FILE INPUT //////// Private Sub bRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bRead.Click '//// Input data from a file. '//////// (Open file dialog to get filename.) Me.OpenFileDialog1.ShowDialog() Dim sr As IO.StreamReader Dim s As String = Me.OpenFileDialog1.FileName ' Get filename from Dialog box. Me.Label1.Text = s ' Display the name, too. '//// Open & read from file. 'sr = IO.File.OpenText(Me.tFilename.Text) ' Get filename from textbox sr = IO.File.OpenText(s) ' Get filename from textbox While (sr.Peek <> -1) '//// read the next record into string "s". s = sr.ReadLine ' Read record into s '//// Extract values from s. Dim nextval As Integer nextval = Val(s) '//// Store values into the array(s). Call storeValues(nextval) End While End Sub '//////// OUTPUT METHODS //////// Sub clearout() '//// Clear output area Me.lstbx.Items.Clear() End Sub Sub showit(ByVal s As String) '//// Display a string Me.lstbx.Items.Add(s) End Sub Sub showit(ByVal s As String, ByVal x As Integer) '//// Display a string and a value Me.lstbx.Items.Add(s & Format(x)) End Sub '//////// OUTPUT THE ARRAY VALUES //////// Private Sub bReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bReport.Click 0: '//////// Show all elements of array. Call clearout() Call showit("Number of elements in array: ", many) ' OUTPUT: Show each element Call showall(a, many) End Sub Sub showall(ByVal a() As Integer, ByVal m As Integer) '//////// Show each element of the array. Dim j As Integer = 0 For j = 1 To many Call showit(a(j)) Next End Sub Sub showit(ByVal value As Integer) '//// Display the value. Dim s As String s = Format(value) Call showit(s) End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click '//////// Clear the array(s). many = 0 End Sub '//////// Button handlers, to fill the array. '//////// Button handlers, to modifythe array. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click '//////// Add raise amount to every element of the array. 'INPUT: Get raise amount Dim raise As Integer 'PROCESS: Add amount to each value in array. raise = Val(Me.TextBox3.Text) Dim j As Integer For j = 1 To many a(j) = a(j) + raise Next 'OUTPUT: Display the array. Call showall(a, many) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click '//////// Double the value of every element of the array. Dim j As Integer For j = 1 To many a(j) *= 2 Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '//////// Fill 20 elements with a sequence. many = 20 Dim start As Integer start = Val(Me.TextBox1.Text) Dim plus As Integer = 1 Call fillseq(a, many, start, plus) End Sub Sub fillseq(ByVal a() As Integer, ByVal m As Integer, ByVal n As Integer, ByVal p As Integer) '//////// Fill array with artithmetic sequence: n, n+p, n+p, ... Dim j As Integer a(1) = n For j = 2 To m a(j) = a(j - 1) + p Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '//////// Fill 20 elements with a sequence. many = 20 Dim start As Integer = Val(Me.TextBox1.Text) Dim plus = Val(Me.TextBox2.Text) Call fillseq(a, many, start, plus) End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button5.Click ''''''''''''''' enter fibonacci sequence into array. a(3) = a(1) + a(2) a(4) = a(2) + a(3) a(5) = a(3) + a(4) a(6) = a(4) + a(5) a(7) = a(5) + a(6) a(8) = a(6) + a(7) a(9) = a(7) + a(8) a(10) = a(8) + a(9) a(11) = a(9) + a(10) a(12) = a(10) + a(11) a(13) = a(11) + a(12) a(14) = a(12) + a(13) a(15) = a(13) + a(14) a(16) = a(14) + a(15) a(17) = a(15) + a(16) a(18) = a(16) + a(17) a(19) = a(17) + a(18) a(20) = a(18) + a(19) End Sub Private Sub oListbox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstbx.SelectedIndexChanged End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load a(1) = 1 a(2) = 1 End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click a(3) = a(1) * 3 a(4) = a(2) * 3 a(5) = a(3) * 3 a(6) = a(4) * 3 a(7) = a(5) * 3 a(8) = a(6) * 3 a(9) = a(7) * 3 a(10) = a(8) * 3 a(11) = a(9) * 3 a(12) = a(10) * 3 a(13) = a(11) * 3 a(14) = a(12) * 3 a(15) = a(13) * 3 a(16) = a(14) * 3 a(17) = a(15) * 3 a(18) = a(16) * 3 a(19) = a(17) * 3 a(20) = a(18) * 3 End Sub End Class