954,551 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

input from user from .txt

First off, Thanks again for all your guys help :)

I worked on a project where the user was supposed to enter numbers one at a time. After each number is entered, the program is to display the number of inputs, the total numbers entered, the average, the maximum and the minimum.

But what I am trying to accomplish now (just to further myself in this field) is: Instead of the user entering numbers one at a time as in my orginal program, I want the program to read the input numbers from a text file. When the first number is requested, that data file is to be opened and the first number read and processed. The file is then to be left open for the rest of the numbers to be read. When the program is at its end, the file will be closed. A restart button is to allow the orginal file or another file to be read from the beginning.

----Orginal Project----

[Public Class Form1
Dim InpNumber, InpTotal, InpCount, InpAverage As Double
Dim InpMaximum, InpMinimum As Double

Private Sub BtnEnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnter.Click
InpNumber = CDbl(txtInput.Text)

If InpCount = 0 Then
InpTotal = InpNumber
InpAverage = InpNumber
InpMinimum = InpNumber
InpMaximum = InpNumber
InpCount = InpCount + 1

Else
InpCount = InpCount + 1
InpTotal = InpTotal + InpNumber
InpAverage = InpTotal / InpCount
End If

If InpMinimum > InpNumber Then
InpMinimum = InpNumber
End If

If InpMaximum < InpNumber Then
InpMaximum = InpNumber
End If


txttotal.Text = CStr(InpTotal)
txtaverage.Text = CStr(InpAverage)
txtmin.Text = CStr(InpMinimum)
txtmax.Text = CStr(InpMaximum)
txtcount.Text = CStr(InpCount)
End Sub

Private Sub BtnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnReset.Click
InpNumber = CDbl(txtInput.Text)

If InpNumber = InpNumber Then
InpTotal = 0
InpAverage = 0
InpMinimum = 0
InpMaximum = 0
InpCount = 0
InpNumber = 0
End If


txtInput.Text = CStr(InpNumber)
txttotal.Text = CStr(InpTotal)
txtaverage.Text = CStr(InpAverage)
txtmin.Text = CStr(InpMinimum)
txtmax.Text = CStr(InpMaximum)
txtcount.Text = CStr(InpCount)

End Sub

End Class]

ashblynn02
Newbie Poster
13 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

So you want to maintain all the numbers in one text file?

binoj_daniel
Practically a Master Poster
645 posts since Dec 2006
Reputation Points: 25
Solved Threads: 18
 

You can read good article on file handling in .NET here

binoj_daniel
Practically a Master Poster
645 posts since Dec 2006
Reputation Points: 25
Solved Threads: 18
 

Yes that is correct!
Thanks :)

ashblynn02
Newbie Poster
13 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 
Yes that is correct! Thanks :)


Let me know if you need further help.

binoj_daniel
Practically a Master Poster
645 posts since Dec 2006
Reputation Points: 25
Solved Threads: 18
 

I'm sorry I was actually referring to the previous post about "So you want to maintain all the numbers in one text file? " I will read over the article to see if I understand how to do it. I guess I am just more or so confused on how to actually start it

ashblynn02
Newbie Poster
13 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Okay I am thinking I need some more help. So far this is my code and I nothing is coming up with the file.

{Imports System.IO
Public Class Form1

Private Sub BtnProcessData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProcessData.Click
Dim previous1 As Long
Dim previous2 As Long
Dim i As Integer
Dim input As Integer
Dim fibonacci As Long

previous1 = 1
previous2 = 1

input = CInt(txtinput.Text)

If input = 1 Then
fibonacci = 1

ElseIf input = 2 Then
fibonacci = 1

Else
For i = 3 To input

fibonacci = previous1 + previous2
previous1 = previous2
previous2 = fibonacci

Next i
End If

TxtFibonacci.Text = CStr(fibonacci)
End Sub
End Class


Public Class Form1
Dim InpFileName As String, FileOpenFlag As Integer
Dim FileData(100) As String, ItemCount As Integer
Dim DataFile As StreamReader

Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
' Get name of file to read and open file
Dim dgrResult As DialogResult
Dim dlgOpen As New OpenFileDialog
If FileOpenFlag > 0 Then DataFile.Close()
' Set properties and open file dialog
dlgOpen.InitialDirectory = "F:"
dlgOpen.Filter = "Text Files|*.txt|Word Files|*.doc|All Files|*.*"
dgrResult = dlgOpen.ShowDialog()

' If file name OK then open file for reading
If dgrResult = DialogResult.OK Then
InpFileName = dlgOpen.FileName ' Get filename
DataFile = File.OpenText(InpFileName)
FileOpenFlag = 1
ItemCount = 0
Else
txtData.Text = "File not specified"
End If
End Sub

Private Sub btnReadNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReadNext.Click
' Read one line from the file
Dim Temp As String
If FileOpenFlag > 0 Then
If DataFile.Peek <> -1 Then
Temp = DataFile.ReadLine
If Temp.Trim <> "" Then
ItemCount = ItemCount + 1
FileData(ItemCount) = Temp.Trim
txtItemNumber.Text = CStr(ItemCount)
txtData.Text = FileData(ItemCount)
Else
txtItemNumber.Text = ""
txtData.Text = "Blank line - Not stored"
End If
End If
End If
End Sub

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If FileOpenFlag > 0 Then DataFile.Close()
End Sub

Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click
' Not complete; should check that text box contains
' a valid number
Dim Index As Integer
Index = CInt(txtItemNumber.Text)
txtData.Text = FileData(Index)
End Sub
End Class

}

I don't know really what I did wrong?
Can you please please help ?? Thanks!

ashblynn02
Newbie Poster
13 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

I will take look at it.

binoj_daniel
Practically a Master Poster
645 posts since Dec 2006
Reputation Points: 25
Solved Threads: 18
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You