Weblessen.nl - Voor iedereen die wat wil leren..


REXX

Index
REXX Index
Voorwoord
De eerste stap
Een inleiding tot REXX
Programma besturing
Toekennen en Logisch vergelijken
Functies en Variabelen
Strings en Tabellen
Parsing
Standaard Invoer / Uitvoer
Bestands Invoer / Uitvoer
Structuren
Karaktermanipulatie

Appendix
Naamgeving
Voorbeeldprogramma's
Totaal programma
Scherm-/bestandsbeschrijvingen Een FTP client voor Windows95/98

Een inleiding tot REXX

 

Inleiding

In dit hoofdstuk worden afspraken gemaakt over de wijze van naamgeven aan programma's, de bestanden, functies, constanten en variabelen. Verder wordt een schema gegeven voor programma indeling. Ook wordt aandacht besteed aan de opmaak van de tekst. Tenslotte wordt aangegeven hoe in REXX met commentaar kan worden gewerkt.


Naamgeving

Programma's
De naam van programma's moeten voldoen aan de eisen die MS-DOS stelt. Wordt alleen in een Windows95/98 omgeving gewerkt dan mogen uiteeraard ook lange bestandsnamen gekozen worden. De extensie voor de programma bestanden is rex.

Functies
Eigen functie namen beginnen met een hoofdletter en bestaan verder uit een combinatie van kleine- en hoofdletters, zoals bijvoorbeeld MaakSamenvatting:. of SlaGegevensOp: Functie namen moeten zoveel mogelijk zelfverklarend zijn en uit een werkwoord + zelfstandig naamwoord bestaan. De maximum naamlengte is niet gedefinieerd, maar een praktische maat is 32 posities. Gebruik geen namen als A of B.

Constanten
Probeer van meet af aan constanten te benoemen met een zelfverklarende naam in plaats van een waarde. Dit maakt achteraf wijzigen eenvoudiger. Constante-namen zoals ZEROzijn ongelukkig gekozen, in geval de waarde ervan veranderd in bijvoorbeeld 10. In plaats daarvan kan beter voor ONDERGRENS gekozen worden.

Als er constanten zijn die op enigerlei wijze logisch gegroepeerd kunnen worden, geef die dan een groepcode vooraf. Stel dat je programma een aantal foutcodes kan afgegeven, dan zou je die bijvoorbeeld de namen FC_GOED, FC_FOUT en FC_NIET_GEVONDEN kunnen geven.

Constanten krijgen een naam met behulp van de toekenning. Het voorbeeld van boven zou er uit kunnen zien als:

FC_GOED = 0 /* Geen fout opgetreden */ FC_NIET_GEVONDEN = 10 /* Geen gegevens */ FC_FOUT = 99 /* Fout opgetreden */

Variabelen
Variabelen moeten een zelfverklarende naam hebben die bij voorkeur uit hoofdletters bestaat. In REXX is er geen onderscheid tussen grote en kleine letters voor programma code. Het maakt je programma echter wel heel leesbaar, dus onderhoudbaar.

Tabellen
REXX ondersteund enkelvoudige (scalar) variabelen en samengestelde (vector en tabel) variabelen. Samengestelde variabelen worden ook wel stemmed variabelen genoemd. Het begrip stem is uniek voor REXX. Samengestelde variabelen bestaan uit een stem gedeelte, eindigend op de punt en een tail, het gedeelte na de punt. In feite worden op deze manier ook de dimensies van tabellen aangeduid. Daar waar in andere talen een element uit een twee dimensionale tabel wordt aangeduid met ELEMENT(1,1) wordt dat in REXX met ELEMENT.1.1 gedaan. Het aantal dimensies kent geen limiet. Ook hoeft niet elke dimensie een even groot aantal sub-dimensies te hebben. Een tabel in REXX kan heel eenvoudig geïnitialiseerd worden door initialisatie van de stem. Het statement 'ELEMENT. = 0' maakt alle elementen van de tabel gelijk aan nul.

Taal elementen
De taalelementen van REXX, de zogenaamde reserved words, worden bij voorkeur genoteerd in lettergreep stijl, d.w.z. per lettergreep beginnen met een hoofdletter en de rest kleine letters.


Programma indeling

In de nu volgende paragraaf wordt een model aangereikt, volgens welke REXX programma's kunnen worden opgebouwd. In dit model worden de volgende programma onderdelen onderscheiden:

  • Hoofdprogramma met het main entry-point (.rex)
  • Subprogramma of functie (.rex)
Hoofdprogramma met het main entry-point
Een bestand met daarin het REXX hoofdprogramma wordt als volgt ingedeeld:
  1. Proloog, zijnde een commentaarblok met gegevens over het programma, parameters, etc.
  2. Eventueel een Copyright regel
  3. Declaratie/definitie van globale variabelen
  4. De main: functie
  5. Definitie van functies, liefst alfabetisch
Subprogramma of functie
Een bestand met daarin een of meerdere REXX modules (functies) wordt als volgt ingedeeld:
  1. Proloog voor het hele functie bestand
  2. Declaratie/definitie van globale variabelen
  3. Een korte proloog met een beschrijving van de functie
  4. De functie zelf
  5. Eventueel een herhaling van 3 en 4, liefst alfabetisch

Programma tekst opmaak

Regel lengte

Een regel code, commentaar of code + commentaar moeten bij voorkeur niet voorbij het zichtbare deel van het scherm worden ingetikt. Hoewel de meeste, moderne editors dit toestaan, wordt om reden van portabiliteit aangeraden de regels niet langer te maken dan 79 tekens. De cursor kan dan nog net op positie 80 staan zonder dat het scherm gaat scrollen. Als een regel toch langer dan 79 posities wordt, moet die worden gesplitst over twee of meer regels. Het verdient aanbeveling de gesplitste regels links uit te lijnen.

Als een aanroep of een declaratie van een functie niet op een regel past, moeten de delen uitgelijnd worden met de eerste parameter. Als een tekst-string moet worden gesplitst, doe dit dan bij een spatie en gebruik in dat geval een extra paar apostrofs (''). Vergeet niet de gespliste regels af te sluiten met een komma. Voor de REXX interpreter betekent een komma aan het einde van een regel, dat deze regel op de volgende regel verder gaat.

Tussenruimte

Laat altijd een blanco regel tussen te onderscheiden programma delen. Een voorbeeld hiervan is een blanco regel tussen declaraties en de uitvoerbare code, of blanco regel rondom loops en blokken code.

In het algemeen moet de programmeur met een flinke dosis eigen inzicht de plaatsen in een programma opzoeken, waar het gebruik van blanco regels het programma beter leesbaar zullen maken en gemakkelijker voor het onderhoud.

Inspringen en uitlijnen

Een blok (Do) moet altijd op de regel worden gezet bij het statement waartoe het behoort. De programmaregels die tot het blok behoren moeten 2 posities inspringen. Elk nieuw blok (Do) moet weer 2 posities inspringen, aldus een niveau van inspringen vormend. Zorg ervoor niet teveel niveaus van inspringen op te bouwen, anders wordt het programma te onoverzichtelijk.

Einde blok (End) moet op een aparte regel worden gezet en wel recht onder de statement waartoe het behoort. Aldus wordt een niveau van inspringen terug gesprongen. Voeg het statement als commentaar achter de accolade toe. Op deze manier is bij een wat groter blok precies te achterhalen bij welk statement de rechter accolade hoort.
Voorbeeld:

If (INVOER = WORP) Then Do Do w=1 While (w < 6) WORP.w = '.' End /* Do */ Call DropField SCREEN 21 66 End; Else Do Call DropField SCREEN 21 69 ... Call DropField SCREEN 21 75 End /* If */

Declaraties binnen functies

De declaratie van de parameters moet in de function header worden gedaan. Als de parameters niet meer op een regel passen, moeten ze over meerdere regels worden verspreid. Het beste is een per regel en keurig inspringen onder de eerste declaratie.

Statement specIfieke opmaak

Gebruik de volgende opmaak voor het If-Else statement: If (conditie) Then Do statement(s); End; Else Do statement(s); End /* If */ Gebruik de volgende opmaak voor het If statement: If (conditie) Then Do statement(s); End /* If */ Gebruik de volgende opmaak voor het Do-While statement: Do While (conditie) statement(s); End /* While */ Gebruik de volgende opmaak voor het Select statement: Select When (conditie 1) Then Do statement(s); End When (conditie 2) Then Do statement(s); End When (conditie 3) Then Do statement(s); End Otherwise statement(s); End /* Select */

Richtlijnen voor commentaar

Commentaar moet duidelijk zijn, beschrijvend en tot hulp dienen. Voor nationale toepassingen moet het commentaar in het Nederlands gesteld zijn, voor internationale toepassingen moet het commentaar in het Amerikaans Engels worden opgesteld. Commentaar in REXX begint met de /* combinatie en eindigt met de */ combinatie. Het zogenaamd nesten van commentaar is NIET mogelijk.

Commentaar blok

Commentaar wordt meestal toegevoegd in blokken. Deze blokken moeten zoveel mogelijk vierkant lijken en samen met de programma tekst inspringen.

Voorbeeld van een commentaarblok

/******************************************************************/ /* */ /* Dit is een voorbeeld van een commentaar blok ... */ /* */ /******************************************************************/

Commentaar regel

Commentaar regels worden alleen toegepast als verduidelijking. Dit commentaar wordt altijd links en rechts uitgelijnd.

Voorbeeld van een commentaarregel

/* Dit is een voorbeeld van een commentaar regel ... */

Toegevoegd commentaar

Commentaar kan ook achter de programma regels worden toegevoegd. Probeer links uit te lijnen op een vaste (zelf te kiezen) kolom en rechts met de andere type commentaar regels. Het commentaar kan worden toegevoegd op meerdere regels indien nodig.

Voorbeeld van toegevoegd commentaar

Say 'Start programma...' /* Debugging informatie */ /* links/rechts uitgelijnd */


Webdesign

Maak van Weblessen.nl uw startpagina!
Plaats Weblessen.nl bij uw favorieten. Neem contact met me op.
Heb je een Hosting?
Geef hier jouw mening over jouw web hosting

Webadres.info: Goede domeinnaam kiezen

Gesponsorde links:
Budget Webhosting
Web2host.nl
10eurohost.nl
Denit Hosting Solutions
YourHosting.nl
Starthosting.nl
Eduvision.nl
Educruitment.nl
Webadres.info


De link top 5:
Gratis Computercursussen
WebmasterStartpagina
MijnStartpagina.nu
Bluebird Animatie
Anouksweb
Link aanmelden
Alle Partners

Webmasterwoordenboek
A | B | C | D | E | F
G
| H | I | J | K | L | M
N
| O | P | Q | R | S | T
U | V | W | X | Y | Z

Films vanavond op Tv:

De klok:

(advertentie)

HTML leren
PHP cursus
XML lessen
XHTML les
CSS leer
leer C
REXX online
Red Hat Linux cursus