DIVERSEN PROGRAMMA'S

DEEL 5

WERKGROEP TEKSTVERWERKING

19 januari 1986
-------------------------------------
INHOUD VAN DIT GEDEELTE:

@1 TOSHEET
@2 PROGRAM 
@3 TEKSTVERWERKER
@4 ONTNUMMERPROGRAMMA

Er is gemakkelijk te springen van het ene programma naar het andere met f4
"cursor to" @

=====================================
@1 "TO SHEET" van: Frederik Geertsema

Een programma om gegevens van Viewstore in te kunnen voeren in Viewsheet.
Het programma, dat in staat is alle - dus niet alleen numerieke -
informatie van ViewStore over te brengen naar ViewSheet. Het programma
werkt nu alleen nog maar met de 6502 2nd processor, maar spoedig hoop ik
een  versie af te hebben die  ook  zonder 2nd processor werkt, welke ik
wel aan u op wil sturen.  Het geheel bevat de volgende programma's:
 B.TOSHEET: de ongeassembleerde versie van de converter (dus BASIC-file)
   TOSHEET: de geassembleerde versie van de converter (dus machine-code)

Werking van het programma:
   Het programma wordt aangeroepen vanuit ViewStore met *TOSHEET.
   Er moet dan al een database geladen zijn, anders antwoordt het
programma met: No database loaded.
   Als er wel een database geladen is, maar het programma kan hem niet
vinden op de disk, dan antwoordt het met: Current database not found.
   Als het programma de database wel kan vinden, start de conversie.
   Dit gaat als volgt: het programma roept ViewSheet aan met *SHEET.
Daarna wordt de uitvoer naar het scherm geblokkeerd (VDU 21). Dit wordt
gedaan om het programma sneller te maken.  De OSRDCH vector wordt
veranderd, zodat elke keer dat ViewSheet verwacht dat er iets ingetypt
wordt, er een byte van de database van de disk gelezen wordt.
   Als dit byte 09 is (end of field marker), wordt dit veranderd in een 13
en springt ViewSheet naar het volgende slot.
   Als dit byte 13 is (end of record marker), gaat ViewSheet naar het
eerste slot op de volgende regel.
   Als dit byte 03 of 02 is, doet ViewSheet niets.
   Als dit byte 01 is (end of data), wordt de OSRDCH vector weer de oude
en stopt de conversie. Er is dan echter nog niets op de disk gezet en dus
moet dat nog even gedaan worden met het SAVE commando van ViewSheet.
   Het programma kan maximaal 255 records converteren (als de grootte van
het geheugen dat toelaat), omdat ViewSheet nou eenmaal niet meer rows
heeft.

   Als u belang heeft bij de volgende programma's (ook zelf geschreven),
dan verneem ik dat graag. 
 - Printer Driver Generator voor VIEW / ViewSheet/ ViewStore. 
 - Een converter als beschreven van Acornsoft Database naar ViewSheet. 
 - Een zeer complete converter  van Acornsoft Database naar ViewStore
(maakt zowel database als format file).

 Frederik Geertsema
 Bieleveldlaan   33
 7906 HR  Hoogeveen
 Tel.   05280-67648

 Programma's op schijf: 
 B.TOSHEET
 TOSHEET

=======================================

@2 "PROGRAM"  van Pieter Reinouts van Haga


Programma om alle files weg te schrijven naar een databestand voor
Starbase.

Uitleg programma:

Hierbij mijn bijdrage voor de inzamelingsactie. Het is slechts een ruwe
schets, maar het werkt wel, zij het soms wat grof. Het programma is
bedoeld om te gebruiken met Starbase en geeft een automatische index van
de schijven. Het leest de naam van de schijf en alle files die er op
voorkomen en schrijft deze weg in een database. Uiteraard werkt dit
programma het meest efficient met twee drives, het is echter ontwikkeld
met behulp van een (dubbelzijdige) drive. Gegevens voor aanpassingen vind
je in de beschrijving van het programma.

PROGRAM

Een van de eerste databases die waarschijnlijk meerdere database
gebruikers zullen opzetten is een (alfabetisch of naar aard van het
programma gerangschikte) lijst van alle programma's die in de loop der
tijd verkregen zijn. De eerste keer kost dat enorm veel saa ie tijd om de
al bestaande stapel in te typen. Met de utilities van Starbase is het
mogelijk deze tijd aanzienlijk te bekorten.

Het opzetten van de schijf.

Aangezien ik met een dubbelzijdige 80 tracks drive werk heb ik programma
en files op kant 0 gezet en de subsets op de achterkant. I n de beschreven
configuratie heb je dan plaats voor 1969 records, me dunkt voorlopig
voldoende.... Om ruimte te creeren op de schijf voor het programma heb ik
blz 26 van de handleiding opgevolgd en een dummyfile gemaakt van 18300 
bytes door het commando:  *SAVE "SPACE" 0+18300 Daarna wordt de schijf
gewoon geinitialiseerd. Door het file "SPACE" te deleten krijg je nu
ruimte voor programma en utilities. De  schijf wordt opgestart met een
eenvoudige !BOOT: 1PAGE &4800 2CH."PROGRAM" Het veranderen van page is
nodig om de geheugenruimte van Starbase niet te verstoren.

Opbouw van de velden.

Voor deze database heb ik de volgende velden gebruikt:
 DISC S (7)
 NAAM S (20)
 NR N (2)
 ORIG S (10)
 ROMRAM S (3)
 TYPE S (10)
 HOUD ER REKENING MEE DAT ALS JE DE VELDEN ANDERS OPZET, DIT OOK VERANDERD
MOET WORDEN IN HET PROGRAMMA. 

---------------------------------------

PROGRAMMABESCHRIJVING

  30 Maakt de keyboardbuffer leeg
  70 De gegevens die niet op de schijf staan moeten wel ingevuld worden.
Let erop dat alle velden als STRING ($) beschouwd worden, ook de
numerieke!
 210 Hoofdprogramma
 250 stopt printen op het scherm. 
 270 brengt de uitlezing weer terug.
 360 zorgt voor de juiste nummering van het record. dit in verband met 450
 370-440 Zorgt voor het invullen van de velden en het opslaan van het
record. Hierin moeten eventuele veranderingen in de velden ook doorgevoerd
worden.
 450 Belangrijk: In de handleiding wordt hier niets over vermeld, na elke
toevoeging van een record moet de "map" bijgewerkt worden.
 470 Aan het eind van een schijf wordt de "map" dan weer opgeslagen
 490-790 Deze procedures zijn "gegapt" van een discmenu waar ik veel
plezier aan beleef. De schrijver van dit brokje bij deze mijn dank.
 PROCpeek haalt de namen letter voor letter uit het geheugen en stopt ze
in een array.
 PROCdisctitle doet hetzelfde met de naam van de schijf en stopt deze in
dt$. Voor goed gebruik van de database moet elke schijf dus een naam
hebben. Om op schijfnaam te kunnen sorteren mag deze naam niet langer zijn
dan 5 letters. Meer letters pikt Starbase niet.

PROCgetfn haalt tenslotte het aantal files van de schijf en past de
array's daaraan aan.
 760 Weer een belangrijke regel: hierin wordt aan de hand van de Directory
een schifting gemaakt: in dit geval worden files met een  directory
+,-,&,% niet meegenomen. Aanpassen aan eigen directories of uitschakelen
door er een REM statement van te maken(Is hier al
 gedaan).
Dit programma moet gekoppeld worden aan het utlity-programma van Starbase.
Dit doe je door:
 PAGE=&4800
 LOAD "PROGRAM"
 *EXEC UTILITY 
 NB. UTILITY staat op de Starbase schijf

Mocht je vragen of suggesties hebben, bel of schrijf dan naar:
 Pieter Reinouts van Haga
 Hamburgerstraat 7
 3512 NN Utrecht.
 Tel. 030-319368

Bijhorende programma op schijf:
S.PROGRAM
-------------------------------------

@3 "TEKSTVERWERKER " 
bewerkt door: J.Filippo

Een basic tekstverwerker

Programma's:

 UITLEG1
 UITLEG2
 UITLEG3
 UITLEG4
 B.TEKST1

Uitleg programma:

CHAIN"B.BEGIN"
=======================================

@ B.Ontnum

verwijdert de regelnummers van een gespoolde basicfile. Na die bewerking
kan het programma worden veranderd in een tekstverwerker. Het staat elders
op de schijf.
