Results 1 to 3 of 3

Thread: Saving/Opening array issues

  1. #1

    Thread Starter
    New Member
    Join Date
    May 2013
    Posts
    11

    Saving/Opening array issues

    Here is my goal in order of how I want the program to operate:

    1. The user chooses one of 4 tabs

    2. Within of these 4 tabs the user will enter data in 22 locations. Along with a monthly calendar who will have the current day selected as a default but the user is allowed to select a prior date.

    3. The user will click a submit button, entering the data into variables (strings/integers/the date). This then brings up a save dialog box, where the user can enter a new location or pick a past text file with entered data. I will eventually want to check if there is data written to a date that the user has selected and bring up a message box requiring confirmation from the user before writing over the data.

    Aside the message box requiring confirmation I got the above tasks to work, but not ideally. I set a string variable array as seen in my code and wrote in a comma in between submissions. This worked but I would get a comma at the end of my saved info in my text file (I don't think this will hinder my later goals) also when submitting my entered data would not automatically start on a new line unless I stopped debug and restarted the debug and saved again. What I mean by this is that if I was to submit multiple times without closing out and reopening the program it would just write the code as one long line.

    4. There is also a tab that allows a user to review data entered on a certain date. Within this tab I have 22 open areas for the recorded data, another monthly calendar, and a review/open records button.

    5. The user will receive a message box stating there is no entered data if a date with no recorded data is chose and the review button is chosen.

    6. I would also like the ability to amend data within this tab and was thinking about a third button, that once data is brought up will bring up a message box requiring confirmation from the user before writing over the data.

    This is where I'm mostly at a loss, I have picked out certain points of my code and added them below. I was wondering, if as opposed to having one variable array I would need 22 variable arrays, since I would prefer the user open the records once and be able to navigate the calendar and hit review to pull up past days without issue.

    Code:
    Imports System.IO
    
    Public Class Form1
    
        Dim intMainWeight As Integer
        Dim intSecondWeight As Integer
        Dim intThirdWeight As Integer
        Dim intFourthWeight As Integer
        Dim intFifthWeight As Integer
    
        Dim intMainLiftReps As Integer
        Dim intSecondLiftReps As Integer
        Dim intThirdLiftReps As Integer
        Dim intFourthLiftReps As Integer
        Dim intFifthLiftReps As Integer
    
        Dim intMainLiftSets As Integer
        Dim intSecondLiftSets As Integer
        Dim intThirdLiftSets As Integer
        Dim intFourthLiftSets As Integer
        Dim intFifthLiftSets As Integer
    
        Dim strSecondExerc As String
        Dim strThirdExerc As String
        Dim strFourthExerc As String
        Dim strFifthExerc As String
    
        Dim strMiscLiftNotes As String
        Dim strLiftDate As String
    
        Dim strLiftInformation(21) As String
        Dim strCompiledLiftData As String
        Dim strSaveFile As String
    
            strLiftInformation(0) = strLiftDate
    
            strLiftInformation(1) = "Squats"
            strLiftInformation(2) = intMainWeight.ToString
            strLiftInformation(3) = intMainLiftReps.ToString
            strLiftInformation(4) = intMainLiftSets.ToString
    
            strLiftInformation(5) = strSecondExerc
            strLiftInformation(6) = intSecondWeight.ToString
            strLiftInformation(7) = intSecondLiftReps.ToString
            strLiftInformation(8) = intSecondLiftSets.ToString
    
            strLiftInformation(9) = strThirdExerc
            strLiftInformation(10) = intThirdWeight.ToString
            strLiftInformation(11) = intThirdLiftReps.ToString
            strLiftInformation(12) = intThirdLiftSets.ToString
    
            strLiftInformation(13) = strFourthExerc
            strLiftInformation(14) = intFourthWeight.ToString
            strLiftInformation(15) = intFourthLiftReps.ToString
            strLiftInformation(16) = intFourthLiftSets.ToString
    
            strLiftInformation(17) = strFifthExerc
            strLiftInformation(18) = intFifthWeight.ToString
            strLiftInformation(19) = intFifthLiftReps.ToString
            strLiftInformation(20) = intFifthLiftSets.ToString
    
        Private Sub btnLegs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLegs.Click
    
            strMiscLiftNotes = rtfMiscLegs.Text
    
    
            strLiftDate = calLegs.SelectionStart.ToString("MM/dd/yyyy")
    
            strLiftInformation(21) = strMiscLiftNotes
    
            For intIndex = 0 To 21
                strCompiledLiftData &= strLiftInformation(intIndex) & ","
            Next
    
            SaveFileDialog1.ShowDialog()
    
        End Sub
    
    
        Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
    
            Dim objWriter As New IO.StreamWriter(SaveFileDialog1.FileName, True)
            objWriter.Write(strCompiledLiftData)
            objWriter.Close()
    
        End Sub
    
    
        Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
            Dim objFileReader As New IO.StreamReader(OpenFileDialog1.FileName)
    
            Do Until objFileReader.Peek = -1 <---------------?????? This section?
    
            Loop
    
            objFileReader.Close()
    
        End Sub
    
    
        Private Sub btnOpenRecrds_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenRecrds.Click
            OpenFileDialog1.ShowDialog()
        End Sub

  2. #2
    PowerPoster dunfiddlin's Avatar
    Join Date
    Jun 2012
    Posts
    8,245

    Re: Saving/Opening array issues

    It kinda depends on how ready you are for something a little bit more complex but it looks to me that your best bet would be either to create a DayStats class which would have properties for each of the values and could through serialisation be saved on a per day basis or, possibly a little easier depending on your experience, create a database which would enable you to preserve all entries in one place. By using the array, you are forcing many values into an unsuitable type (date especially), and making manipulation rather unweildy in the process.
    As the 6-dimensional mathematics professor said to the brain surgeon, "It ain't Rocket Science!"

    Reviews: "dunfiddlin likes his DataTables" - jmcilhinney

    Please be aware that whilst I will read private messages (one day!) I am unlikely to reply to anything that does not contain offers of cash, fame or marriage!

  3. #3

    Thread Starter
    New Member
    Join Date
    May 2013
    Posts
    11

    Re: Saving/Opening array issues

    I'm definitely ready to learn and expand on my VB knowledge (not much at the moment), I guess I chose to work with variable arrays because I have in the past worked with arrays and was thinking I could place the date into an array and when I click review it will search through all my dates until it finds the same date and output the corresponding data with that date. I have not worked with databases as of yet.
    Last edited by Graffix; May 17th, 2013 at 06:53 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width