Zobrazení libovolných ikon nebo textů v závislosti na výsledcích vyhodnocení logických výrazů. Přístroj může podle stanovených podmínek měnit svůj vzhled i polohu. Výsledky vyhodnocení výrazů mohou být přiřazeny do výstupních datových elementů.
multi_label multi_label_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; blink = boolean_expression; blink_rate = identifier; x_position = real_expression; y_position = real_expression; frame = integer; driver_exception = driver_name; item icon = file_name; font = font_identifier, integer, style_identifier; text = string; font = font_identifier, integer, style_identifier; text = string; expression = boolean_expression; end_item; item . . . end_item; colors paper = color; ink = color; top_shadow = color; buttom_shadow = color; end_colors; blink_colors paper = color; ink = color; top_shadow = color; buttom_shadow = color; end_blink_colors; end_multi_label;
Implicitní jsou nastaveny parametry:
position = 0, 0; win_disable = zoom, maximize; access = 4294967295; tab_select = 4294967295; frame = 0;
Příklad nastavení parametrů přístroje multi_label:
multi_label MultiLabel2; timer = Sel100ms.MultiLabelPanel, 1; owner = MultiLabelPanel; position = 60, 160; win_disable = zoom, maximize; x_position = 70 + ( 60 * sin ( ( ( 100 - K4 ) / 50 ) * Pi ) ); y_position = 110 + ( 60 * cos ( ( ( 100 - K4 ) / 50 ) * Pi ) ); item icon = RRLEDOFF.ICO; expression = K2 <= 30; end_item; item icon = rgledoff.ico; expression = ( k2 > 30 ) and ( K2 < 70 ); end_item; item icon = rbledoff.ico; expression = k2 >= 70; end_item; end_multi_label;
SetIndex( ItemIndex : real )Nastavení přístroje do stavu daného parametrem ItemIndex včetně případného zápisu do výstupního datového elementu. První definovaný item má Index = 1.
SetLook( ItemIndex : real )Nastavení vzhledu přístroje do stavu daného parametrem Index bez zápisu hodnot do výstupních datových elementů.
GetIndex( &ItemIndex : real )Přečtení aktuálního stavu přístroje.
MoveTo( XPosition, YPosition : real )Posunutí přístroje na pozici XPosition, YPosition. Velikosti hodnot x a y jsou v bodech obrazovky.
Hide()Skrytí viditelného přístroje.
Show()Zobrazení skrytého přístroje.
Update()Nastavení přístroje do stavu daného jeho výstupními datavými elementy.
Update( SetOutput : boolean )Nastavení přístroje podle aktuálního stavu jeho výstupního datového elementu. Parametr SetOutput určuje, budou-li nová data zpětně zapsána do výstupního datového elementu.
GetPosition( &XPosition, &YPosition : number )Zjištění aktuální pozice přístroje na obrazovce.
GetPosition( &XPosition, &YPosition, &WPosition, &DPosition : number )Zjištění aktuální pozice a velikosti přístroje na obrazovce.
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.
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()
OnIndexOutput( Index : real; Output: boolean )Procedura je zavolána pro každou položku, která je identifikována hodnotou parametru Index (počínaje číslem 1). Má-li tedy multi_label např. 10 položek, bude procedura zavolána v každém časovém kroku desetkrát. V proměnné Output je hodnota, která bude bude po dokončení procedury zobrazena a případně zapsána do výstupního datového elementu. Tuto hodnotu je možno v proceduře změnit.