🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #360

Re: Een grote tekstfile weergeven.

#360
From: Bastiaan
Date: Fri, 14 Jan 2005 15:38
59 lines
3770 bytes
H. J. Sander Bruggink <sanderbruggink@hotmail.com> schreef in bericht <cs8nq1$g19$1@husserl.admin.phil.uu.nl>...

> Bastiaan wrote:
> > Ik besef dat ik het wiel opnieuw ga uitvinden, maar toch wil ik
> > een viewer maken in BASIC, die een grote (20 MB) tekstfile met
> > alleen carriage return, line feed en tab, moet weergeven. Hij
> > moet de stuurtoetsen gebruiken, en kunnen kiezen uit linewrap,
> > of juist uit het veld lopen.
> 
> BASIC lijkt me niet de meest geschikte keuze voor het efficient beheren 
> van zo'n grote tekstfile.

Maar ja, het moet toch maar.

> 
> > Ik heb al wat onderzoek gedaan, en loop tegen het volgende aan:
> > Als ik met 'End' naar het einde van de file ga, heb ik toch de
> > informatie nodig waar de regels beginnen. Om die pointers van
> > het begin der regels allemaal in te lezen, duurt veel te lang.
> 
> In principe hoef je niet te weten waar *alle* regels beginnen; je hoeft 
> alleen te weten waar de *zichtbare* regels zich bevinden.

Dan moet ik dat begin van die laatste 'page' toch berekenen, en dat
is best gecompliceerd als er tabs en langere regels tussen zitten.
Temeer nog als die laatste page begint bij een afgebrokenn regel.
Maar het is niet ondoenlijk.

> 
> > Gewoon het begin opzoeken, dus gewoon het aantal regels terug
> > tellen vanaf het eind, vergt wel een hoop rekenwerk, zeker
> > omdat er ook nog tabs tussen (kunnen) zitten.
> 
> Dit snap ik niet. Tenzij je regels heel erg lang zijn (en als word wrap 
> aanstaat zou dat al niet eens meer belangrijk moeten zijn), moet je als 
> je vanaf het einde van het bestand gewoon terugtelt snel de beginpositie 
> van de zichtbare regels kunnen bepalen.

Ja, maar toch is dit best gecompliceerd met tabs en langere regels.

> 
> > Ik denk dat het ideaal is om alle regelbeginpointers in te lezen
> > in b.v. machinetaal, maar is dat ook zo? Hoe kan ik 't het beste
> > doen? Iemand vaker met dit bijltje gehakt?
> 
> Gebruik *zo min mogelijk* machinetaal. Het zorgt er alleen maar voor dat 
> je programma verschrikkelijk moeilijk wordt om naar andere platforms te 
> porten. Gebruik liever een higher-level taal die je wat meer low-level 
> mogelijkheden biedt, zoals C(++) of Pascal.

Het hoeft niet geport te worden, maar C(++) en Pascal of Delphi ken ik
niet. Dus dat wordt rekenen. Naar het begin van de laatste regel, dan
weer terug om de tabs te bepalen, dan kijken hoeveel afbrekingen er zijn,
enz. Maar het zal wel lukken denk ik. Al blijven Page Up en Pijl Up knap
ingewikkeld.


Hartelijk dank, Bastiaan.
Technical Details
Message-ID: <41e7e9a8$0$4502$58c7af7e@news.kabelfoon.nl>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!easynet-quince!easynet.net!feed.news.tiscali.de!tiscali!newsfeed1.ip.tiscali.net!border2.nntp.ams.giganews.com!nntp.giganews.com!news-out2.kabelfoon.nl!83.128.0.10.MISMATCH!newsfeed.kabelfoon.nl!nanites.nntp.kabelfoon.nl!not-for-mail
References: <41e7d020$0$4377$58c7af7e@news.kabelfoon.nl> <cs8nq1$g19$1@husserl.admin.phil.uu.nl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,cc6ea8d92fe92f6d
X-Google-Thread: fcea4,cc6ea8d92fe92f6d
X-Google-Attributes: gid107324,gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!easynet-quince!easynet.net!feed.news.tiscali.de!tiscali!newsfeed1.ip.tiscali.net!border2.nntp.ams.giganews.com!nntp.giganews.com!news-out2.kabelfoon.nl!83.128.0.10.MISMATCH!newsfeed.kabelfoon.nl!nanites.nntp.kabelfoon.nl!not-for-mail
From: "Bastiaan" <bastiaan@niet.net>
Newsgroups: nl.comp.programmeren,be.comp.programming
Subject: Re: Een grote tekstfile weergeven.
Date: Fri, 14 Jan 2005 16:38:20 +0100
References: <41e7d020$0$4377$58c7af7e@news.kabelfoon.nl> <cs8nq1$g19$1@husserl.admin.phil.uu.nl>
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
Lines: 60
Message-ID: <41e7e9a8$0$4502$58c7af7e@news.kabelfoon.nl>
Organization: CAIW
NNTP-Posting-Host: kf-nawij-fp11-142.dial.kabelfoon.nl
X-Trace: 1105717672 nanites.nntp.kabelfoon.nl 4502 62.45.9.142:1557
X-Complaints-To: abuse@caiway.nl