Proměnné a konstanty

zpět

 

Rozdíl mezi SET, UPDATE a PROMPT-FOR

  • PROMT-FOR: Data will be moved from User to Screen Buffer.
  • SET: Data will be moved from User to Screen Buffer and Screen Buffer to Record Buffer.
  • UPDATE: Data will be moved from Record Buffer to Screen Buffer and then User to Screen Buffer and Screen Buffer to Record Buffer.
  • SET is combination of PROMPT-FOR and ASSIGN.
  • UPDATE is combination of SET and DISPLAY.

 

DEFINE VARIABLE – definice proměnné

define variable lv-variable as character format „x(10)“ initial „výchozí hodnota“ no-undo.

define variable lv-variable like table-columnn label „můj label pro proměnnou“ no-undo.

  • as – nastavení datového typu
  • like – nastavení vlastnosti podle sloupce tabulky
  • format – formát proměnné, například délka řetězce, formát data aj…
  • initial – přiřazení výchozí hodnoty
  • no-undo – při vrácení (obnovení) transakce bude zachována poslední přiřazená hodnota
  • label – nastavení vlastního labelu (popisu) proměnné ve znakovém prostředí pro

 

ASSIGN … WHEN … – přiřazení hodnoty proměnné na základě splněné podmínky

assign lv-field = „“ when lv-field = ?

 

EXTENT – definice proměnné typu pole

Definice a zobrazeni velikosti proměnné a s pěti prvky:

DEFINE VARIABLE a AS CHARACTER EXTENT 5 NO-UNDO.
DISPLAY EXTENT(a). /* 5 */

Nastavení hodnot pro jednotlivé prvky:

a[1] = „A“.
a[2] = „B“.
a[3] = „C“.
a[4] = „D“.
a[5] = „E“.
DISPLAY a[5]. /* E */

Index začíná od 1! Maximální velikost je  28000 prvků.

DISPLAY a[0].  /* error 3678 */

Pokud je proměnná definována bez počtu prvků, může se velikost pole definovat později. Ale pouze jednou!

DEFINE VARIABLE b AS CHARACTER EXTENT NO-UNDO.
EXTENT(b) = 10.
EXTENT(b) = 1. /* error 13738 */

Hodnoty prvkům lze přiřadit při definici proměnné:

DEFINE VARIABLE c AS CHARACTER EXTENT 3 INITIAL [„one“,“two“,“three“] NO-UNDO.
DISPLAY c.

Pokud je počet hodnot menší než počet prvků pole, je poslední hodnota přiřazena ostatním prvkům:

DEFINE VARIABLE d AS CHARACTER EXTENT 10 INITIAL [„one“,“two“,“three“] NO-UNDO.
DISPLAY d. /* viz níže */

Výpis pro výše uvedené příklady:

┌────────────────────────────────────────────────────────────────────────────────┐
│ a[5] c[1] c[2] c[3]  d[1] d[2] d[3]  d[4]  d[5]  d[6]  d[7]  d[8]  d[9]  d[10] │
│ ────────────────────────────────────────────────────────────────────────────── │
│ E    one  two  three one  two  three three three three three three three three │
└────────────────────────────────────────────────────────────────────────────────┘

 

Jak používat speciální znaky v textu

Symbolem pro speciální vlastnosti znaku je vlnovka ~.

Sequence  Interpreted               Comment
~“        “                         Use within quoted strings as alternative to („“).
~‘        ‚                         Use within quoted strings as alternative to (“).
~~        ~                         –
~\        \                         –
~{        {                         –
~nnn      One character             Where nnn is an octal value between 000 and 377.
~t        Tab character             Octal 011
~r        Carriage return           Octal 015
~n        New line / Line feed      Octal 012
~E        Escape                    Octal 033
~b        Backspace                 Octal 010
~f        Form feed                 Octal 014

 

 

zpět