Wanted
Legacy Member
Examen Vb komt eraan dus ben ik wat aan't prutsen met oefeningen te maken.
Nu zit ik met een probleem om een array te vullen.
Het algoritme volgens mij:
- Je leest de geboortedatum in, bv 1980 uit een sequentieel bestand
- Daar trek je 1900 van af, dan kunnen uw aantal ingangen nog 111 zijn (vermits we nu in 2011 zijn)
- Dus van 0 tot 111 (dat is uw index van uw array) kunnen er geboortejaren voorlomen.
- In voorbeeld geval (1980) wordt dus gebJaar(80) += 1 en bij het doorlopen van de ganse lus of alle records worden stelselmatig de geboortejaren of indexen die voorkomen opgevuld en bijgeteld als ze al voorkomen.
- Het enige wat je dan nog moet doen is met een lus de array toevoegen aan je listbox : als er in een ingang een waarde zit voeg je toe aan de listbox, anders niet.
Ik kan best een array opvullen met een for next van 0 tot einde maar om random een element te vullen zit ik dus echt vast. Volgens de oefening zou ik de geboortejaren ook moeten tellen dus bv 1980 = 50 keer enz....
Code die ik heb:
'Declaratie variabelen
Dim gebjaar(111) As String
Dim element As Integer
Dim geboortejaar As Integer
Dim lijn As String
Dim index As Integer
Dim uitvoer As String = ""
'Bestand Openen deze keer zonder dialogvenster
Try
FileOpen(1, "C:\Users\Wanted\Desktop\GEGEVENS2011.TXT", OpenMode.Input)
FileOpen(2, "C:\Users\Wanted\Desktop\TELLING2011.TXT", OpenMode.Output)
Catch ex As Exception
MessageBox.Show("Bestand is niet gevonden!" & vbCrLf & "Zorg ervoor dat het bestand path juist is.", _
"Bestand niet gevonden!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
'Init-prog
lstUitvoer.Items.Add("Resultaten telling")
lstUitvoer.Items.Add("==================")
lstUitvoer.Items.Add(" ")
lstUitvoer.Items.Add("Jaar " & " Aantal")
lstUitvoer.Items.Add("----" & " ------")
Do While Not EOF(1)
lijn = LineInput(1)
geboortejaar = CType(lijn.Substring(43, 4), Integer)
gebjaar(element) = geboortejaar - 1900
Loop
For index = 0 To gebjaar.GetUpperBound(0)
lstUitvoer.Items.Add(gebjaar(geboortejaar))
Next
'Bestanden afsluiten
FileClose(1)
FileClose(2)
Iemand die mij een goede duuw kan geven in dit probleem?
Ben hier nu al een aantal dagen mee bezig. Hopelijk vraagt hij zo niets op het examen.
Nu zit ik met een probleem om een array te vullen.
Het algoritme volgens mij:
- Je leest de geboortedatum in, bv 1980 uit een sequentieel bestand
- Daar trek je 1900 van af, dan kunnen uw aantal ingangen nog 111 zijn (vermits we nu in 2011 zijn)
- Dus van 0 tot 111 (dat is uw index van uw array) kunnen er geboortejaren voorlomen.
- In voorbeeld geval (1980) wordt dus gebJaar(80) += 1 en bij het doorlopen van de ganse lus of alle records worden stelselmatig de geboortejaren of indexen die voorkomen opgevuld en bijgeteld als ze al voorkomen.
- Het enige wat je dan nog moet doen is met een lus de array toevoegen aan je listbox : als er in een ingang een waarde zit voeg je toe aan de listbox, anders niet.
Ik kan best een array opvullen met een for next van 0 tot einde maar om random een element te vullen zit ik dus echt vast. Volgens de oefening zou ik de geboortejaren ook moeten tellen dus bv 1980 = 50 keer enz....
Code die ik heb:
'Declaratie variabelen
Dim gebjaar(111) As String
Dim element As Integer
Dim geboortejaar As Integer
Dim lijn As String
Dim index As Integer
Dim uitvoer As String = ""
'Bestand Openen deze keer zonder dialogvenster
Try
FileOpen(1, "C:\Users\Wanted\Desktop\GEGEVENS2011.TXT", OpenMode.Input)
FileOpen(2, "C:\Users\Wanted\Desktop\TELLING2011.TXT", OpenMode.Output)
Catch ex As Exception
MessageBox.Show("Bestand is niet gevonden!" & vbCrLf & "Zorg ervoor dat het bestand path juist is.", _
"Bestand niet gevonden!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
'Init-prog
lstUitvoer.Items.Add("Resultaten telling")
lstUitvoer.Items.Add("==================")
lstUitvoer.Items.Add(" ")
lstUitvoer.Items.Add("Jaar " & " Aantal")
lstUitvoer.Items.Add("----" & " ------")
Do While Not EOF(1)
lijn = LineInput(1)
geboortejaar = CType(lijn.Substring(43, 4), Integer)
gebjaar(element) = geboortejaar - 1900
Loop
For index = 0 To gebjaar.GetUpperBound(0)
lstUitvoer.Items.Add(gebjaar(geboortejaar))
Next
'Bestanden afsluiten
FileClose(1)
FileClose(2)
Iemand die mij een goede duuw kan geven in dit probleem?
Ben hier nu al een aantal dagen mee bezig. Hopelijk vraagt hij zo niets op het examen.