[VB] tel aantal regels

Pagina: 1
Acties:

  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 01-04 07:40

Wbdsgnr

Discombobulated?

Topicstarter
Is het mogelijk om het aantal regels te tellen die in een text bestand staan?
Het zit zeg maar zo, ik heb een namenlijstje waarbij de eerste regel een nummer bevat met het aantal regels van het bestand. Nu voeg ik een nieuwe naam toe mbv append. Maar om nu de 1e regel zeg maar te updaten zou ik Print moeten gebruiken maar hiermee leeg ik het helebestand en voeg dat ene getal toe. Dus bij het ophalen van het namenlijstje en het in een list te stopen gebruik ik een loop, maar als ik dat eerste getal (wat het aantal regels zegt) niet kan uptdaten word de lijst nooit groter. Dus nu vroeg ik me af is het niet mogelijk om die 1e regel gewoon weg te laten en dan gewoon het aantal regels van het bestand zelf te tellen. Maar hoe lukt dit in VB. Ik heb gezocht op google maar ik krijg alles behalve wat ik bedoel :)

Dit gebruik ik nu dus om het namenlijstje te weergeven:

code:
1
2
3
4
5
6
7
8
9
'inlezen en tonen van gegevens
Open Naam & ".dat" For Input As #1
Input #1, AantalGegevens
ReDim Gegeven(AantalGegevens)
For i = 1 To AantalGegevens
     Line Input #1, Gegeven(i)
     lstLooptijd.AddItem (Gegeven(i))
Next i
Close #1

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

In principe doet je dat toch al?
Al je na je For ... Next de variable 'i' uitleest, dan is dat je aantal regels.
En je kan ook proberen het aantal VBCrLf's uit te lezen maar dat is wat verder gezocht aangezien je het toch al bereikt hebt.

  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 01-04 07:40

Wbdsgnr

Discombobulated?

Topicstarter
Dat is het nou juist, die I die gat van 0 tot AantalGegevens. Maar het probleem is nu juist het feit dat AantalGegevens gelezen word uit de 1e regel van het tekst bestand, maar aangezien ik die eerste regel niet kan updaten dacht ik, is er geen mogelijkheid om gelijk het aantalregels van het bestand te lezen. Snap je? :P

  • El_Quedro
  • Registratie: September 2001
  • Laatst online: 04-08-2025

El_Quedro

Pininfarina

Dan zou ik het zo doen:

code:
1
2
3
4
5
6
7
8
9
10
11
Dim X as Long, Gegeven() as String
Open Naam & ".dat" For Input As #1


Do
     X = X + 1
     Redim Preserve Gegeven(X)
     Line Input #1, Gegeven(X)
Loop until EOF(1)
Close #1
AantalGegevens = X


Nu blijft hij uitlezen totdat EOF(1) op True staat. Dit is End-Of-File en 1 voor de bestandsnummer.
Bij Redim Preserve wordt er een nieuwe variable Gegeven() met een nummer X aangemaakt.

Ik hoop dat het wel zo goed is? :?

[ Voor 22% gewijzigd door El_Quedro op 13-02-2003 13:39 ]


  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 01-04 07:40

Wbdsgnr

Discombobulated?

Topicstarter
Yup dat is uhm :) Bedankt, kende ik niet dat EOF. 8)7