Vraag & Antwoord

Programmeren

lezen van grote tekst bestanden

12 antwoorden
  • Is er iemand die weet hoe ik grote tekstbestanden, groter dan 100 Kb kan lezen met behulp van visual basic 6.0?
  • Met "open"?????
  • Kun je nu uitleggen wat je nu exact wil? Je hebt een tekstbestand en je wilt die openen. Wat is het probleem exact en hoe denk je dat je hem moet openen?<P>P.s. Mijn kennis van VB en zeker VB6 is beperkt. De hoogste Basic-versie die ik heb gebruikt is VB3! (En ben vervolgens lekker met Delphi gaan werken...)
  • Het probleem is dat visual basic niet met tekst bestanden kan werken die groter zijn dan 64 Kb en daar heb ik dus niks aan! Je kan het bestand openen, maar er wordt niet verder gelezen als de eerste 64 Kb. Dat is het probleem....
  • Onzin dat VB geen grote bestanden aan zou kunnen. De limiet is die van Windows, dus een paar Gigabytes.<P>Wat je op het verkeerde been heeft gezet, is het gegeven dat een *textbox* niet meer dan 64K aan data kan hebben. Maar als je in plaats van een gewone textbox een RtTextBox (Rich Text Textbox) gebruikt, is die limiet opgeheven en kun je gelijk nog een heleboel andere functies toepassen (opmaak, kleuren, zoeken, etc.)<P>John
  • Geldt dat dan ook voor pure tekstbestanden die ik regel voor regel wil uitlezen? In delphi had ik dit probleem wel en in pascal ook dus in vb ben ik er niet eens aan begonnen.
  • Nog veel gemakkelijker. RichTextBox heeft speciale commando's voor laden en bewaren van bestanden (platte ASCII tekst of RTF indeling): LoadFile en SaveFile. Te gebruiken op deze manier:<P>RichTextBox.LoadFile "BestandsNaam"
  • Het klopt dat het met een richtextbox beter gaat, het gaat veel sneller, VB is nou eenmaal traag <IMG SRC="http://www.computertotaal.nl/forum/frown.gif"><P>Om dezelfde snelheid te halen zonder een richtextbox gebruik je in plaats van while not eof(1) line input #1,A$ B$=B$+A$ wend<P>Input #1,B$,lof(1)<P>De rede van die 64 KB is dat een string maximaal zo groot kan zijn!
  • Zo mag ik het horen!!!!
  • Flauwekul. Een string in VB kan tot 2 GIGA byte data bevatten (een variable length string heeft een Long voor de lengte, dus 2^31 capaciteit. Fixed length heeft wel 64K limiet, vanwege pagebounded opslag).<P>Een standaard textbox heeft een maximum van 64K data, punt. Dat ligt niet aan VB, maar aan Windows. Vergelijk: NotePad (kladblok) kan ook geen bestanden &gt;64K aan, WordPad wel. Kwestie van standaard textbox versus richtextbox.<P>Als je reageert, doe het dan met zinnige info.
  • Ik denk dat wat Twan bedoelt is dat een TextBox maximaal 64 KB aan kan. Dit is overigens een Windows-foutje...<P>&gt; Fixed length heeft wel 64K limiet, vanwege pagebounded opslag Onder Windows 95 is dit dus complete onzin. Het enige verschil is dat bij de 64K string een 2-bytes word als lengte-indicator wordt gebruikt en bij een 2GB string een 4-bytes Long-integer wordt gebruikt. (Alleen de positieve waardes, vandaar de 2 GB maximum.)<P>Niks geen pagebounded onzin. De lengte-byte is gewoon niet groot genoeg...<P>Als je reageert, doe het dan met zinnige info. Ook jij, John! <IMG SRC="http://www.computertotaal.nl/forum/smile.gif">
  • &gt; en bij een 2GB string een 4-bytes Long-integer wordt gebruikt. (Alleen de positieve waardes, vandaar de 2 GB maximum.) Zeg dus wel even dat dat de signed long is, en niet de unsigned. Unsigned kan aan tot 2^32, ongeveer 4294000000<P>&gt; Niks geen pagebounded onzin. De lengte-byte is gewoon niet groot genoeg... Van hetzelfde<P>&gt; Als je reageert, doe het dan met zinnige info. Ook jij, John! Ook jij.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.