WORDWISE PROGRAMMA'S

Werkgroep teksverwerking 

DEEL 1

19 januari 1986

INHOUD VAN DIT DEEL:
@1   BASIC-WORDWISE
@2   MULTI-PRINT
@3   MODE 7 BLADZIJDEN
@4   FUNKTIETOETSEN UIT HET BOEKJE
@5   WORDWISE EN TREND PRINTER

Met f4"cursor to" @ kan snel naar de programma's gesprongen worden.

Hoe van tekst weer Basic te maken is, valt in de inleidende tekst van deze schijf te lezen.

======================================
@1 BASIC-WORDWISE

Het is mogelijk WORDWISE teksten in een Basic programma in te lezen en vice versa. Dit programma geeft hiervoor drie routines, die b.v. gebruikt kunnen worden in een Basic bestanden programma.
Basic slaat een tekst string als volgt op: '00':string lengte :nerovetserethca:Dus achterstevoren.
Een tekstverwerkers zoals Wordwise slaat strings op als: 
:string karakters: achterstevoren &0D:
Met andere woorden als een serie karakters gevolgd door een carriage return. Om dit nu in een Basic programma in te kunnen lezen heeft men de funktiedefinitie FNlees nodig. De file kan geopend worden met fi% = OPENIN("tekstnaam")
De omgekeerde weg is natuurlijk een Basic file dat door Wordwise als tekst gelezen kan worden. Dit gaat dus met fi%=OPENOUT("tekstnaam") en met de procedure PROCschrijf.

  100fi%=OPENIN("tekstnaam")
  110REPEAT
  120data$= FNlees(fi%)
  130PRINT data$;
  140UNTIL EOF `fi%
 
 1000 DEF FNlees(fi%)
 1010 LOCAL a$: a$=""
 1020 REPEAT
 1030 a$=a$+CHR$(BGET`fi%)
 1040 UNTIL (RIGHT$(a$)=CHR$&0D) OR (EOF `fi%)
 1050 =a$
 1060 ENDPROC
 
 2000 DEF PROCschrijf(fi%,a$)
 2010 LOCAL i%, c%
 2020 FOR i%=1 TO LEN(a$)
 2030 c%=ASC(MID$(a$,i%,1))
 2040 BPUT `fi%,c%
 2050 NEXT
 2060 IF RIGHT$(a$,1) <> CHR$13 THEN BPUT `fi%,13
 2070 ENDPROC


=======================================2@2 MULTI PRINT

(ACORN USER JULI '84)

Dit programma kan verschillende kopieen maken van een gespoolde (korte) tekst. Ga als volgt te werk:
-Maak een dokument in WORDWISE, niet langer dan 1 pagina.
-Save dit programma op schijf of cassette met menu 8. Dit maakt een gespoolde file in ASCII formaat. 
-Ga naar BASIC en run het programma. Het document wordt nu zoveel keer afgedrukt als men maar wenst.
Een nadeel is echter dat bij het spoolen alle speciale printerkode's, zoals onderstrepen, verloren gaan. 

   50REM MULTI PRINT PROGRAMMA
   60REM VOOR SERIELE PRINTER GEEF *FX..
   70REM COMMANDO'S
   80DIM A% 20000   
   90MODE7
  100REPEAT
  110 CLS: PRINT "MULTI PRINT PROGRAMMA":INPUT "Geef de naam van de tekst die geprint"'"moet worden of tik STOP";N$      
  120IF N$="STOP" OR N$="stop" THEN MODE 7: END
  130INPUT'"Hoeveel kopieen nodig ";N%
  150 PRINT"Zorg ervoor dat de goede disk"'"of cassette klaar staat"'"Dat de printer is ingeschakeld"'"en op de bovenkant van het papier staat"      
  160 PRINT"Druk op <SPATIE> om te beginnen"
  165 *FX15,1
  170REPEAT UNTIL GET=32
  180F=OPENIN(N$)
  190TEL=0
  200REPEAT
  210A%?TEL=BGET#F
  220TEL=TEL+1
  230UNTIL EOF#F
  240CLOSE#F
  250FOR I=1 TO N%
  260VDU2
  270FOR J=0 TO TEL
  280PRINT CHR$(A%?J);
  290NEXT J
  300VDU1,2
  310REM DEZE REGEL BRENGT DE PRINTER TERUG
  320REM NAAR DE BOVENKANT PAPIER
  330REM TUSSEN HET PRINTER VAN DE KOPIEEN
  340REM KIJK OF DEZE KODE GOED IS VOOR DE PRINTER
  350NEXT I
  360VDU3
  370UNTIL FALSE

Hoe van deze tekst weer Basic te maken is, valt in de inleidende tekst van deze schijf te lezen.
=====================================
@3 MODE 7 BLADZIJDEN.
  
In Acorn User (mei '85) stond een programma om afzonderlijke mode 7
pagina's te maken die b.v. in een basic programma zijn te gebruiken.
Ga als volgt te werk.
-Schrijf een tekst in Wordwise.
-Zet de Left Margin op LM2, dan kunnen later controle karakters
toegevoegd worden.
-Zet de Line Lenght op LL36
-Gebruik andere commando's om de tekst in te delen zoals JO, EP, PL25,
PP
-Spool de tekst met menu 8
-Laad en run het programma. De tekst wordt automatisch ge-*saved- als
Page 0 tot n. Elke bladzijde is een mode 7 scherm.

   50MODE 7
   60oscli=&FFF7
   70DIM command 30
   80CLOSE #0
   90INPUT ''"Tik de file naam in. "F$
  100ch=OPENIN F$
  110IF ch=0 THEN PRINT CHR$(133);" File ";F$ "bestaat niet": CLOSE #ch: STOP 
  120lines=0: nopages=0
  130CLS
  140REPEAT
  150nopages=nopages+1
  160CLS 
  170REPEAT 
  180Z=BGET#ch
  190IF Z=13 THEN lines=lines+1
  200IF Z=13 AND lines<>25 THEN VDU10,13 ELSE IF Z>31 VDU Z
  210UNTIL EOF#ch OR lines=25
  220lines=0
  230PROCOSCLI ("SAVE PAGE"+STR$nopages+" 7C00 + 400")          
  240 UNTIL EOF#ch 
  250CLS  
  260CLOSE #0   
  270PRINT''CHR$131"GEDAAN"'' " ";
  280END
  290:
  300DEF PROCOSCLI($command)
  310X%=command MOD 256
  320Y%=command DIV 256 
  330CALL oscli
  340ENDPROC

Hoe van deze tekst weer Basic te maken is, valt in de inleidende tekst van deze schijf te lezen.
======================================
@4 FUNKTIETOETSEN

Addo stuur

Enkele voorbeelden van funktietoets definities zoals beschreven in het boekje van de werkgroep tekstverwerking, samen met een beschrijving van hun werking. Ga als volgt te werk. Wis alle toegevoegde tekst, zodat alleen de definities overblijven. Geef de toetsen hun juiste nummer. Save de definities gewoon als tekst met menu 1. Daarna zijn ze te gebruiken als *EXEC file. Eenmaal goed werkend en in het geheugen, zijn dedefinities te saven met *SAVE ....  0B00 0C00. Daarna zijn ze op elk willekeurig moment te laden met *LOAD .... Zie voor verdere uitleg het boek.

EEN AANTAL VOORBEELDEN VAN FUNKTIETOETSDEFINITIES.

*KEYn |!,|!#|!-|!#|!-|!(
met deze toets verwissel je de letter links van de cursor. Handig bij
veel gebruikte typefout veot-voet.

*KEYn  |!|\|D
Deze toets wist een woord links van de cursor.
 
*KEYn |!|L|!#|!|M|!#|!'
Deze toets wist een hele regel

*KEYn |!#
Deze toets is het zelfde als f3 MARKER. Alleen kan je deze funktie

*KEYn |!|\|!#|!|]|!#|!|]|!(
Deze toets wisselt het woord onder de cursor om met het woord links
daarvan.

*KEYn |!|\|!#|!|\|!#|!|\|!|\|!(
-Wissel woord de onder cursor met het woord rechts daarvan.
 
*KEYn |[7
Met deze toets ga je meteen naar preview, dat werkt lekker snel.
    
*KEYn |!|\|!|]|S|!|]
Dit geeft een woord als eerste letter een hoofdletter.

-*KEYn @|!|O|!$|!#|A|!$|!#|A|!|O|[5G@|M|M|[|!,
Deze toets wist de markers.

*KEYn |!#|!$.|!#|!'
-Wis tot einde van een zin; tot "."

*KEYn |!#|!|M|!#|!'
-Wis tot einde van de regel.  

===================================
@5 WORDWISE EN TREND JP 80 PRINTER
 
Kees Baltus
Bijgaand programma "B.WW&TRND" laad ik via een !Boot-file om WORDWISE te starten en om tegelijkertijd 15 funktietoetsen te benoemen. Ik maak geen gebruik van de "Key-file"; benoeming van de funktietoetsen via een Basic-programma maken listing en wijziging makkelijker. De !Boot-file ziet er als volgt uit:
   *BUILD!BOOT
   *B.
   *TV255,1
   MODE3
   CHAIN"B.WW&TRND"
   N
Trema CTR-SHIFT-f0 Printer gaat automatisch een positie terug

Accent egu CTR-SHIFT-f1 Intoetsen voor de letter
Printer gaat automatisch een positie terug

Accent grave CTR-SHIFT-f2 Intoetsen voor de letter
Printer gaat automatisch een positie terug

Spring drie posities in CTR-SHIFT-f3
Dit kommando kan voorafgegaan worden door enkele tekens.  DT4 zorgt ervoor dat ook de regel waar men mee bezig is, begint op positie 4. Als men een regel met een teken zou aanvangen en daarna "IN.." zou gebruiken, dan werkt het inspringen pas vanaf de volgende regel, vandaar de "DT4". CTR-SHIFT-f3 werkt tesamen met CTR-SHIFT-< ("CI") en CTR-SHIFT-> ("IN6,DT7"). Met het gebruik worden eerder gegeven tabulatorstoppen vernietigd.

Groot schrijven CTR-SHIFT-f5
Intoetsen direkt voor de tekst.

Einde groot schrijven CTR-SHIFT-f4
Intoetsen direkt na de tekst

Begin kursief schrijven CTR-SHIFT-f7
Intoetsen direkt voor de tekst

Einde kursief schrijven CTR-SHIFT-f6
Intoetsen direkt na de tekst

Begin te onderstrepen CTR-SHIFT-f9
Intoetsen direkt voor de tekst

Einde onderstrepen CTR-SHIFT-f8
Intoetsen direkt na de tekst

Einde inspringen en naar de volgende regel CTR-SHIFT-CURSOR LINKS
Werkt samen met CTR-SHIFT-f3 en CTR-shift->

Zes posities inspringen CTR-SHIFT-CURSOR RECHTS
Zie CTR-SHIFT-f3. Wordt gebruikt bij het inspringen in een ingesprongen tekst. Met het gebruik worden eerder gemaakte tabulatorstoppen vernietigd.

Begin tekst CTR-SHIFT-CURSOR OMHOOG
Definieert de kantlijn, de regellengte, de paginalengte, de topmarge, de ondermarge enz. Titels van een hoofdstuk kan men op de plaats van de spaties achter "DH" zetten. Het kommando "TI58" blijkt niet te werken; daarom is gekozen voor tussenliggende spaties; het gebruik van "DT58,>" zou betekenen dat door de teksthoofddefinieering ("DH") bij iedere volgende pagina een nieuwe "DT58" benoemd zou worden.

Letters verwisselenCTR-SHIFT-COPY
Als de kursor op een letter geplaatst wordt, wordt deze via genoemde instruktie met zijn volgende verwiseld.
Was een marker reeds in gebruik, dan wordt de vraag gesteld "marker?". Waren twee markers in gebruik, dan wordt de gemarkeerde tekst geplaatst op de tweede positie na de kursor.

Voor een eventuele uitbreiding van funktietoetsen heb ik de volgende ideeen, (zie ook andere definities op deze schijf en het boek)
-  Klein schrijven "on"
-  Klein schrijven "off"
-  Superscript "on" (OC27,83,0)
-  Subscribt "on"   (OC27,83,1)
-  Super- en subscribt"off"(OC27,72,84) -  Woorden verwisselen
======================================
