# string_display

### Funkce

Zobrazení výsledku textového výrazu a jeho případné uložení do výstupního datového elementu.

### Syntax

      string_display string_display_name;
        rem = string;
        bubble = string;
        timer = timer_name;
        owner = owner_name;
        position = integer, integer, integer, integer;
        win_disable = [ identifier, . . . ];
        win_title = string;
        access = integer;
        tab_select = integer;
        send_same_data;
        expression = string_expression;
        blink = boolean_expression;
        blink_rate = identifier;
        font = font_identifier, integer, style_identifier;
        frame = integer;
        driver_exception = driver_name;
        colors
          top_shadow = color;
          bottom_shadow = color;
          ink = color;
          paper = color;
        end_colors;
        blink_colors
          top_shadow = color;
          bottom_shadow = color;
          ink = color;
          paper = color;
        end_blink_colors;
      end_string_display;

### Specifické parametry přístroje

- expression
  Obsahem tohoto parametru je výraz typu string, jehož výsledek bude přístroj zobrazovat. Pokud se místo klíčového slova expression uvede název proměnné či výstupního kanálu, bude přístroj zapisovat výsledek výrazu expression právě na tuto uvedou proměnnou nebo kanál.
- blink
  Parametr uvádí logický výraz, jehož výsledek rozhoduje o tom, bude-li přístroj blikat -- tedy periodicky se překreslovat se střídavým použitím barevných sad colors a blink_colors. Po zastavení blikání se přístroj vždy vrátí do základní barevné sady colors.
- blink_rate
  Určuje frekvenci blikání přístroje uvedením jednoho z identifikátorů:
  slow - blikání s periodou 2 sekundy
  normal - blikání s periodou 1 sekunda
  quick - blikání s periodou 0.5 sekundy
- font
  Je parametr určující font. Má vždy tři parametry. První z nich font_identifier určuje typ písma (např. TIMES, SYSTEM, aj.), druhý určuje jeho velikost v tiskových bodech a třetí parametr style_identifier rozhoduje o tom, zda bude písmo normální (normal), tučné (bold) nebo skloněné (italic).
- frame
  Určuje zobrazení stínování přístroje. Je-li hodnota kladná, budou stíny navozovat iluzi propadnutého přístroje, v opačném případě bude přístroj opticky nad okolím. Pokud je frame nulový, zobrazí se text bez okraje.
- driver_exception
  Jméno ovladače, od kterého budou přijímány výjimky.
- colors a blink_colors
  Seznam prvků přístroje, kterým lze měnit nastavení barvy:
  top_shadow - horní stín
  bottom_shadow - dolní stín
  ink - barva textu
  paper - pozadí textu

### Poznámka

Implicitní nastavení parametrů:

      position = 0, 0, 200, 18;
      access = 4294967295;
      tab_select = 4294967295;
      font = SYSTEM, 10, bold;
      frame = 1;

### Příklad

Příklad nastavení parametrů přístroje string_display:

      string_display hlaseni;
        timer = 1;
        owner = background;
        position = 120, 120, 200, 18;
        expression = hlaseni;
        frame = –2;
      end_string_display;

### Nativní procedury přístroje string_display

    SetValue( Value : string )

Zápis nové hodnoty Value do přístroje.

    NewRect( x, y, width, depth : real )

Zavoláním metody je možné přístroji změnit současně jeho pozici a velikost. Velikosti hodnot x, y, width, a depth jsou v bodech obrazovky.

    MoveTo( x, y : real )

Posunutí přístroje na pozici x, y. Velikosti hodnot x a y jsou v bodech obrazovky.

    Show()

Zobrazení skrytého přístroje.

    Hide()

Skrytí viditelného přístroje.

    SetTextColor( Red, Green, Blue : real )

Nastavení barvy textu.

    SetPaperColor( Red, Green, Blue : real )

Nastavení barvy pozadí textu.

    SetTopShadowColor( Red, Green, Blue : real )

Nastavení barvy horního stínu.

    SetBottomShadowColor( Red, Green, Blue : real )

Nastavení barvy dolního stínu.

    Blink( BlinkingActive : boolean )

Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.

    ToggleBlink()

Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.

### Událostní procedury přístroje string_display

Přístroj může volat standardní událostní procedury:

    OnActivate()
    OnMouseDown( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseDoubleClick( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseUp( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseMove( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnKeyDown( Character : cardinal )
    OnKeyRepeat( Character : cardinal )
    OnKeyUp( Character : cardinal )
    OnSelect()
    OnDeselect()
    OnShow()
    OnHide()
    OnNewPosition( RectX, RectY, RectW, RectD : integer )
    OnWindowMinimize()
    OnWindowMaximize()
    OnWindowRestore( WasMinimized, WasMaximized : boolean )
    OnWindowClose()

### Specifické událostní procedury přístroje

    OnOutput( Output: string )

Procedura je zavolána před každým zápisem do výstupního datového elementu.