[ASP] bepaalde regel inlezen uit tekstbestand

Pagina: 1
Acties:

  • Beyond
  • Registratie: Juni 2001
  • Laatst online: 08:46

Beyond

Dussssss.......

Topicstarter
Ik wil uit een bepaald tekstbestand een bepaalde regel
hebben. Dit kan met behulp van readLine dat weet ik.
Maar nu wil ik specifiek regel 25 (bv.) hebben.
Hoe kan ik dit het beste oplossen
Is a.ReadLine(25) een optie ??
Stond nl niet in MSDN....

Al het goeie.......


  • Beyond
  • Registratie: Juni 2001
  • Laatst online: 08:46

Beyond

Dussssss.......

Topicstarter
niemand ?

Al het goeie.......


Verwijderd

Het lijkt me dat je dat makkelijk even had kunnen proberen, dan had je geweten dat dat niet kan. Wel kan je ReadAll() zeggen, die "splitten" op cariage-return/linefeed (of een van de twee Cr of Lf):

Split(f.ReadAll,vbCrLF)(24) geeft je de 25e regel.

Documentatie: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/fsooriScriptingRun-TimeReference.asp

En als er geen argument gedocumenteerd staat voor een functie in VB(Script) is ie er ook haast zeker niet.

Verwijderd

hmmmm wellicht alleen als het tekstbestand in kwestie random access is maar dat zal wel niet.

Verwijderd

Voor een random access bestand moet er volgens mij iets iets over de positie bekend zijn, als al je regels dezelfde lengte hebben kan je met de Read() methode aangeven van welk character tot welk character je wilt lezen in VB meen ik, in VBScript zou je dan iets van Mid(Read(100), 74, 25) moeten zeggen om de vierde regel van 25 characters te pakken te krijgen.

Maar die ik net aandraag is handig voor regels: je kan dan bijv. zeggen
regels = Split(f.ReadAll(), vbCrLf)
vervolgens plak je ze zo willekeurig aan elkaar:
s = regels(0) & regels(9) & regels(19) om regel 1, 10 en 20 aan String s toe te wijzen. Door de verkorte schrijfwijze kan je voor een enkele regel gewoon Split(f.ReadAll(), vbCrLf)(99) voor regel 100 gebruiken.

Ik zag ook nog een post over het aantal characters in een variabele (waarvan ik aanneem dat er een string bedoeld wordt) Daar is de handige ingebouwde functie Len(s as string) voor. (rtfm)

Voor geavanceerde mogelijkheden moet je eens over het stream object, onderdeel van ADO lezen, dat is meer geschikt als je een file als data wilt gebruiken.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
24x SkipLine :)

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 06-09 18:58

Basszje

Reisvaap!]

Op dinsdag 04 juni 2002 00:43 schreef Gert het volgende:
24x SkipLine :)
Het makkelijkst en waarschijnlijk ook het ranzigst :) .
maar zo zou ik het in eerste instatie idd ook doen.

Overweeg anders een te gaan werken met XML, dat is perfect voor dit soort dingen

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.

Pagina: 1