Welcome to Dream.In.Code
Become a VB Expert!

Join 149,477 VB Programmers for FREE! Get instant access to thousands of VB experts, tutorials, code snippets, and more! There are 1,781 people online right now. Registration is fast and FREE... Join Now!




search two-dimensional array text file

 
Reply to this topicStart new topic

search two-dimensional array text file

nymphomate
6 May, 2007 - 01:23 PM
Post #1

New D.I.C Head
*

Joined: 30 Apr, 2007
Posts: 3


My Contributions
It would be much appreciated if someone could help with this problem.

I have member details stored in a two dimensional array which has been written to a text file.

I need to search for a member no. in the text file that matches a member no. entered into a text box.

I have tried the fileget method with the array which the data would have been saved to eg. and the program keeps stopping
CODE

filenum = FreeFile()
        filename = CurDir() & "\Memberdetails.txt"
        FileOpen(filenum, filename, OpenMode.Random)
        Do While Not EOF(filenum)
            Fileget(filenum,members(memberrecord,0))
            If (memberrecord,0)= txtmemno.text then
                MsgBox("member no. found")
            Else
                MsgBox("incorrect member no.")
            End If
        Loop
        FileClose(filenum)


I have tried allsorts and cant seem to understand what on earth I am supposed to do. Dont understand the two dimensional array properly.

Please please help!

Many Regards
User is offlineProfile CardPM
+Quote Post

Amadeus
RE: Search Two-dimensional Array Text File
6 May, 2007 - 01:38 PM
Post #2

g++ -o drink whiskey.cpp
Group Icon

Joined: 12 Jul, 2002
Posts: 12,348



Thanked: 51 times
Dream Kudos: 25
My Contributions
Can you show the declarations for memberrecord? Can you show an example of the file?
User is online!Profile CardPM
+Quote Post

nymphomate
RE: Search Two-dimensional Array Text File
6 May, 2007 - 01:42 PM
Post #3

New D.I.C Head
*

Joined: 30 Apr, 2007
Posts: 3


My Contributions
QUOTE(Amadeus @ 6 May, 2007 - 02:38 PM) *

Can you show the declarations for memberrecord? Can you show an example of the file?


Not sure what you mean by declaration so I will post the sub procedure and how the add records button is coded, hope this information is correct.
CODE

Private Sub frmember_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        filename = CurDir() & "\Memberdetails.txt" 'creates text file

        Call subloadfile() 'call Subroutine
    End Sub
    Sub subloadfile()
        filenum = FreeFile()
        memberrecord = 0
        If filename <> "" Then
            Try
                FileOpen(filenum, filename, OpenMode.Input)
                Do Until EOF(filenum)
                    memberrecord = memberrecord + 1
                    members(memberrecord, 0) = LineInput(filenum)
                    members(memberrecord, 1) = LineInput(filenum)
                    members(memberrecord, 2) = LineInput(filenum)
                    members(memberrecord, 3) = LineInput(filenum)
                    members(memberrecord, 4) = LineInput(filenum)
                    members(memberrecord, 5) = LineInput(filenum)
                    members(memberrecord, 6) = LineInput(filenum)
                    members(memberrecord, 7) = LineInput(filenum)
                    members(memberrecord, 8) = LineInput(filenum)
                    members(memberrecord, 9) = LineInput(filenum)
                    members(memberrecord, 10) = LineInput(filenum)

                    cmbsurname.Items.Add(members(memberrecord, 1))
                Loop
                lastmemberrecord = memberrecord
            Catch
                MsgBox("error opening start file")
            Finally
                FileClose(filenum)
            End Try
        End If

        currentmemberrecord = 1

        txtmemno.Text = members(currentmemberrecord, 0)
        cmbsurname.Text = members(currentmemberrecord, 1)
        cmbforename.Text = members(currentmemberrecord, 2)
        txtdob.Text = members(currentmemberrecord, 3)
        txttelno.Text = members(currentmemberrecord, 4)
        txtmemdate.Text = members(currentmemberrecord, 5)
        txtaccbal.Text = members(currentmemberrecord, 6)
        cmbcard.Text = members(currentmemberrecord, 7)
        txtcardno.Text = members(currentmemberrecord, 8)
        txtcardstart.Text = members(currentmemberrecord, 9)
        txtcardexp.Text = members(currentmemberrecord, 10)
        cmbsurname.Focus()

    End Sub
    Private Sub btnaddmem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaddmem.Click
        Dim counter1 As Integer


        Dim counter, filenum As Integer
        filenum = FreeFile()
        If filename <> "" Then
            Try

                lastmemberrecord = lastmemberrecord + 1
                members(lastmemberrecord, 0) = txtmemno.Text
                members(lastmemberrecord, 1) = cmbsurname.Text
                members(lastmemberrecord, 2) = cmbforename.Text
                members(lastmemberrecord, 3) = txtdob.Text
                members(lastmemberrecord, 4) = txttelno.Text
                members(lastmemberrecord, 5) = txtmemdate.Text
                members(lastmemberrecord, 6) = txtaccbal.Text
                members(lastmemberrecord, 7) = cmbcard.Text
                members(lastmemberrecord, 8) = txtcardno.Text
                members(lastmemberrecord, 9) = txtcardstart.Text
                members(lastmemberrecord, 10) = txtcardexp.Text

                FileOpen(filenum, filename, OpenMode.Append)
                PrintLine(filenum, members(lastmemberrecord, 0))
                PrintLine(filenum, members(lastmemberrecord, 1))
                PrintLine(filenum, members(lastmemberrecord, 2))
                PrintLine(filenum, members(lastmemberrecord, 3))
                PrintLine(filenum, members(lastmemberrecord, 4))
                PrintLine(filenum, members(lastmemberrecord, 5))
                PrintLine(filenum, members(lastmemberrecord, 6))
                PrintLine(filenum, members(lastmemberrecord, 7))
                PrintLine(filenum, members(lastmemberrecord, 8))
                PrintLine(filenum, members(lastmemberrecord, 9))
                PrintLine(filenum, members(lastmemberrecord, 10))
                MsgBox("Member details added to file")
                currentmemberrecord = lastmemberrecord


                cmbsurname.Items.Add(members(currentmemberrecord, 1))

                FileOpen(filenum, filename, OpenMode.Output)
                For counter = 1 To lastmemberrecord
                    PrintLine(filenum, members(counter, 0))
                    PrintLine(filenum, members(counter, 1))
                    PrintLine(filenum, members(counter, 2))
                    PrintLine(filenum, members(counter, 3))
                    PrintLine(filenum, members(counter, 4))
                    PrintLine(filenum, members(counter, 5))
                    PrintLine(filenum, members(counter, 6))
                    PrintLine(filenum, members(counter, 7))
                    PrintLine(filenum, members(counter, 8))
                    PrintLine(filenum, members(counter, 9))
                    PrintLine(filenum, members(counter, 10))

                Next counter
            Catch
                MsgBox("error opening add file")
            Finally
                FileClose(filenum)
            End Try
        End If

Private Sub cmbsurname_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbsurname.SelectedIndexChanged
        currentmemberrecord = cmbsurname.SelectedIndex + 1
        txtmemno.Text = members(currentmemberrecord, 0)
        cmbsurname.Text = members(currentmemberrecord, 1)
        cmbforename.Text = members(currentmemberrecord, 2)
        txtdob.Text = members(currentmemberrecord, 3)
        txttelno.Text = members(currentmemberrecord, 4)
        txtmemdate.Text = members(currentmemberrecord, 5)
        txtaccbal.Text = members(currentmemberrecord, 6)
        cmbcard.Text = members(currentmemberrecord, 7)
        txtcardno.Text = members(currentmemberrecord, 8)
        txtcardstart.Text = members(currentmemberrecord, 9)
        txtcardexp.Text = members(currentmemberrecord, 10)


Many regards

Sorry the file has each record entered on a seperate line eg.

Member No.
Surname
Forename
DOB
etc.

This post has been edited by jayman9: 6 May, 2007 - 02:18 PM
User is offlineProfile CardPM
+Quote Post

Jayman
RE: Search Two-dimensional Array Text File
6 May, 2007 - 02:24 PM
Post #4

Student of Life
Group Icon

Joined: 26 Dec, 2005
Posts: 7,302



Thanked: 66 times
Dream Kudos: 500
Expert In: Everything

My Contributions
Since you are using .NET, it would be better if you use a StreamReader/StreamWriter object to access your textfile. Then you can read each line individually looking at only the Member No. and skipping the additional lines of information to find a match for the record you are searching for.

No need to store the data in an array. Since you can create a procedure that will handle reading the file each time you need to search for data and loading the information into the correct TextBoxes.

Once you find a match, then read the additional lines from the textfile that you need.
Reading and Writing Text files.
MSDN How to read text from a file.
User is online!Profile CardPM
+Quote Post

nymphomate
RE: Search Two-dimensional Array Text File
6 May, 2007 - 02:41 PM
Post #5

New D.I.C Head
*

Joined: 30 Apr, 2007
Posts: 3


My Contributions
QUOTE(jayman9 @ 6 May, 2007 - 03:24 PM) *

Since you are using .NET, it would be better if you use a StreamReader/StreamWriter object to access your textfile. Then you can read each line individually looking at only the Member No. and skipping the additional lines of information to find a match for the record you are searching for.

No need to store the data in an array. Since you can create a procedure that will handle reading the file each time you need to search for data and loading the information into the correct TextBoxes.

Once you find a match, then read the additional lines from the textfile that you need.
Reading and Writing Text files.
MSDN How to read text from a file.


Thank you for your reply,

I have to use arrays as this project is for an assignment and my tutor gave us the filemode.input etc. mode. I do keep looking at the streamwriter method and with your advice I think I will implement it.

Thanks once again
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 1/7/09 03:09PM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live VB Help!

VB Tutorials

Reference Sheets

VB Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month