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..."
(geen verschil)

Versie van 14 jun 2007 20:49

In dit hoofdstuk leer je over groepsvelden en condities met voorwaardenaam. Dit gaat een beetje dieper in op variabelen.

Groepsvelden

Een groepsveld kan gebruikt worden om via één accept data te geven aan meerdere variabelen.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 getal.
         02 a pic 9.
         02 b pic 99.

       PROCEDURE DIVISION.
       HOOFD.
           DISPLAY “geef een getal: “
           ACCEPT getal NO BEEP
           DISPLAY “-----”
           DISPLAY a
           DISPLAY b
           STOP RUN.

In dit programma wordt een getal gelezen en dat getal zal worden opgesplits in 2 getallen. In tegenstelling tot een gewone variabel, waar "77" wordt gebruikt bij het declareren, moet je voor een groepsveld "01" gebruiken dus "01 getal.". Getal zal dan de naam zijn van het groepsveld. Bij de naam van een groepsveld wordt geen pic gebruikt. Het groepsveld wordt onderverdeeld in andere variabelen. In dit geval is dat a en b. Bij deze variabelen moet wel een pic worden gebruikt en dit is hetzelfde als bij andere variabelen. De lengte van het groepsveld getal hangt af van de som van de lengest van variabelen die bij het groepsveld horen. Hier is dit dus 3 tekens lang(a heeft er 1 en b heeft er 2). Als je dus een getal leest met het groepsveld getal zal die worden opgesplits. Hier een voorbeeld.

Scherm:
geef een getal:
193
-----
1
93

Om van de variabelen van een groepsveld apart op het scherm te tonen hoef je dus alleen maar display te gebruiken gevolgd door de naam van de variabel. Het omgekeerde is ook waar. Stel je vraagt eerst de voornaam van de gebruiker en daarna de achternaam en je wilt die heel makkelijk het op het scherm opnieuw tonen.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 naam.
         02 voornaam pic x(10).
         02 achternaam pic x(10).

       PROCEDURE DIVISION.
       HOOFD.
           DISPLAY "geef uw voornaam:"
           ACCEPT voornaam NO BEEP
           DISPLAY "geef uw achternaam:"
           ACCEPT achternaam NO BEEP

           DISPLAY "-----"
           DISPLAY naam
           STOP RUN.

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 filler.

Filler

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.