Programmeren in COBOL/Velden/Groepsvelden en conditie met voorwaardenaam: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Sephiroth (overleg | bijdragen)
Pagina aangemaakt: "In dit hoofdstuk leer je over groepsvelden en condities met voorwaardenaam. Dit gaat een beetje dieper in op variabelen. ==Groepsv..."
 
Sephiroth (overleg | bijdragen)
kGeen bewerkingssamenvatting
Regel 46:
STOP RUN.
</pre>
Heel simpel dus je leest apart de variabelen ''voornaam'' en ''achternaam''. Omdat die bij groepsveld ''naam'' horen kun je ze via ''display'' beide in één keer tonen op het scherm. Maar wat al je voornaam exact 10 letters lang is? Dan wordt de voornaam en achternaam aan elkaar geschreven. Hiervoor bestaat de ''filler''.
===Filler===
Een ''filler'' kan voor twee zaken worden gebruikt. Het eerste werd in het vorige stuk al aangehaald. Stel je hebt 2 variabelen in een groepsveld en de inhoud van die beide variabelen gebruiken de totale lengte dat die variabele aankan. Dan is het goed moest je nog een extra variabele, de ''filler'', tussen die 2 hebben die ervoor zorgt dat wanneer je het groepsveld toont er de twee variabelen niet aan elkaar worden getoond.
<pre>
DATA DIVISION.
WORKING-STORAGE SECTION.
01 naam.
02 voornaam pic x(10).
02 pic x value " ".
02 achternaam pic x(10).
 
PROCEDURE DIVISION.
HOOFD.
DISPLAY "geef uw voornaam:"
ACCEPT voornaam
ACCEPT achternaam
DISPLAY "-----"
DISPLAY naam
STOP RUN.
</pre>
Hier is tussen die variabelen ''voornaam'' en ''achternaam'' nog een derde geplaatst. "02 pic x value " "" omdat je de filler toch niet gebruikt moet je het geen naam geven. Tussen ''achternaam'' en ''voornaam'' zal nu een spatie komen wanneer je het groepsveld ''naam'' toont. Je kunt natuurlijk naast een spatie ook alle andere tekens gebruiken -, +, *, /,... Let wel op! als je een filler gebruikt lees dan nooit het hele groepsveld in, in dit geval ''naam'', doe je dat wel overschrijf je de ''filler''. Dus nooit "accept naam".
 
De ''filler'' kun je ook op een andere manier gebruiken. Wanneer je gegevens inleest kan het zijn dat je uiteindelijk bepaalde informatie niet nodig hebt. Je leest bijvoorbeeld namen in en je weet dat de eerste 10 tekens de voornaam is, maar die wil je niet. Dan kun je ook een ''filler'' gebruiken.
<pre>
01 naam.
02 pic x(10).
02 achternaam pic x(10).
</pre>
Als je dan ''naam'' inleest zal de voornaam worden opgeslagen in de ''filler''. Maar omdat je die toch niet nodig hebt geef je de ''filler'' geen naam. De gegevens gaan wel echter niet verloren, als je het groepsveld ''naam'' toont krijg je nogsteeds de voornaam te zien. Het is gewoon een simple truc om minder variabelnamen te hebben bij grote programmas.
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.