table

Funkce

Dynamická výměna dat s tabulkovým kalkulátorem a jeho kompletní ovládání prostředky systému Control Web. Přístroj table umožňuje přímo zapisovat data do buněk tabulky, vyvolávat přepočet tabulky a zpětně číst data z buněk do systému. Tabulka zobrazuje "živá" data a případně i jejich grafické vyjádření.

Syntax

  table table_name;
    rem = string;
    bubble = string;
    timer = timer_name;
    owner = owner_name;
    position = integer, integer;
    win_disable = [ identifier, . . . ];
    win_title = string;
    access = integer;
    tab_select = integer;
    driver_exception = driver_name;
    table_description
      editable;
      table_look = table_look_list;
      template_file = file_name;
      save_file_name = string_expression;
      visible = boolean_expression;
      save_file = boolean_expression;
      print = boolean_expression;
      printing = boolean_name;
    end_table_description;
    item_expr
      condition = boolean_expression;
      layer = real_expression;
      row = real_expression;
      column = real_expression;
      recalculate;
      expression = real_expression;
    end_item_expr;
    item_expr
      . . .
    end_item_expr;
    item_element
      get_data;
      condition = boolean_expression;
      layer = real_expression;
      row = real_expression;
      column = real_expression;
      recalculate;
      data_element = real_expression;
      arrays_access = array_access_identifier;
      index_from = real_expression;
      index_to = real_expression;
    end_item_element;
    item_element
      . . .
    end_item_element;
    errors
      receivers = receiver_name_list;
      error_layer = number_name;
      error_row = number_name;
      error_column = number_name;
      cp_type = number_name;
      table_type = number_name;
      item = number_name;
      index = number_name;
    end_errors;
end_table;

Specifické parametry přístroje

Poznámky

Příklad

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

  table table;
    position = 132, 22;
    table_description
      table_look = window;
      template_file = PROT.TBW;
      save_file_name = Save_name;
      visible = Visibility;
      save_file = Save;
      print = Print;
      printing = Printing;
    end_table_description;
    item_element
      condition = true;
      row = 4;
      column = 2;
      recalculate;
      data_element = Pole;
      arrays_access = columns;
      index_from = 1;
      index_to = 7;
    end_item_element;
    item_element
      get_data;
      condition = true;
      row = 4;
      column = 2;
      recalculate;
      data_element = ReadPole;
      arrays_access = columns;
      index_from = 1;
      index_to = 7;
    end_item_element;
  end_table;

Nativní procedury přístroje

ShowTable()

Zobrazí skrytou tabulku.


HideTable()

Skryje viditelnou tabulku.


Minimize()

Minimalizuje okno s tabulkou, je-li tabulka viditelná.


Restore()

Metoda obnoví původní velikost okna s tabulkou, je-li okno viditelné a minimalizované.


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.


SetEditable( Editable : boolean )

Povolí editaci tabulky. Tím se umožní zadávání dat do tabulky a tabulku je možné použít jako vstupní formulář. Přestanou se ovšem kopírovat hodnoty ze systému Control Web do tabulky. V opačném případě (Editable = false) není možné do tabulky data zadávat ručně, pracuje však přenos dat do tabulky. Čtení dat z tabulky do systému Control Web pracuje vždy.


GetEditable( VAR Editable : boolean )

Metoda naplní proměnnou Editable aktuální hodnotou tohoto parametru.


SetDVLogPos( x_pos, y_pos : real )

Tabulka bude posunuta na logické souřadnice (sloupec, řádek) x_pos, y_pos.


SetActivePos( layer, row, column : number )

Metoda nastaví jako aktuální vrstvu vrstvu layer, a v této vrstvě kursor přemístí na buňku row, column. Je-li hodnota parametru layer rovna 0, bude provedeno nastavení v právě aktuální vrstvě.


PrintTable()

Vytiskne aktuální stav dokumentu tabulky na aktuální tiskárnu. Stav tisku je možné zjistit pomocí metody IsPrinting.


IsPrinting( VAR IsPrinting : boolean )

Metoda nastaví do proměnné IsPrinting aktuální stav tisku tabulky. Je-li zrovna tabulka tisknuta, vrátí metoda hodnotu true, v opačném případě vrátí hodnotu false.


SaveTable( Path : string )

Uloží aktuální stav dokumentu do souboru jména Path. Součástí jména může být i cesta.


OpenTable( Path : string; VAR ok : boolean )

Otevře nový template dokument. Součástí jména může být i cesta.


GetCellType( L, R, C : number; VAR Type : real )

V proměné Type vrátí typ buňky. Popis parametrů:


SetRealValue( L, R, C : number; V : real; Recalculate, PaintG : boolean )
SetBooleanValue( L, R, C : number; V : boolean; Recalculate, PaintG : boolean )
SetStringValue( L, R, C : number; V : string; Recalculate, PaintG : boolean )

Metody sloužící k nastavení dat do tabulky. Popis parametrů:


GetRealValue( L, R, C : number; VAR V : real )
GetBooleanValue( L, R, C : number; VAR V : boolean )
GetStringValue( L, R, C : number; VAR V : string )

Metody sloužící ke čtení dat z tabulky. Popis parametrů:


PaintGraphs()

Metoda způsobí překreslení všech grafů celé tabulky. Během překreslování nedochází k přepočtu tabulky.


Recalculate()

Metoda způsobí přepočítání celé tabulky. Vzorce obsažené v dokumentu jsou znova vyčísleny a do grafů zobrazujících data tabulky jsou přeneseny aktuální hodnoty.


ClearError()

Při čtení dat z tabulkového přístroje může nastat situace, kdy se z tabulky získají data typu, který neodpovídá typu proměnné v systému Control Web. V takové případě tabulka přejde do režimu detekované chyby a na svých výstupech nastaví hodnoty popisující chybu. Po zpracování chyby (odstranění chybného typu z tabulky, konverze dat...) je tabulku nutné uvést zpět do pracovního režimu, právě touto nativní procedurou ClearError().


SetColor( Layer, Row, Column, Red, Green, Blue : real )
GetColor( &Layer, &Row, &Column, &Red, &Green, &Blue : real )

Metody umožňují nastavit nebo přečíst barvu pozadí vybrané buňky.


SetPrintArea( Layer, Row1, Column1, Row2, Column2 : real )

Metoda nastavuje tiskovou oblast.


SetGraphType( GraphName : string; GraphType : real )

Nastaví typ grafu. Parametr GraphName udává jméno grafu jehož parametr se má nastavovat. Parametr GraphType určuje typ grafu. Možné hodnoty jsou:

0 - Bodový graf
1 - Plošný graf
2 - Spojnicový graf
3 - Spojnicový graf s vyznačením bodů
4 - XY graf
5 - Spojnicový XY graf
6 - Sloupcový graf
7 - Pruhový graf
8 - Kumulovaný sloupcový graf
9 - Kumulovaný pruhový graf
10 - Sloupcový graf překryvný
11 - Pruhový graf překryvný
12 - Výsečový graf
13 - Sloupcový graf s třírozměrnými prvky
14 - Pruhový graf s třírozměrnými prvky
15 - Kumulovaný sloupcový graf s třírozměrnými prvky
16 - Kumulovaný pruhový graf s třírozměrnými prvky


SetGraphArea( GraphName : string; Layer, Row1, Column1, Row2, Column2 : real )

Nastaví oblast dat (vrstva, levý horní, pravý dolní roh) tabulky, které budou zobrazeny v grafu. Parametr GraphName udává jméno grafu jehož parametr se má nastavovat.


GetGraphArea( GraphName : string; &Layer, &Row1, &Column1, &Row2, &Column2 : real )

Vrací oblast dat (vrstva, levý horní, pravý dolní roh) tabulky, které jsou zobrazeny v grafu. Parametr GraphName udává jméno grafu.


GraphSerieVisible( GraphName : string; Order : real; Visible : boolean )

Zapíná/vypíná zobrazování průběhu zadaného parametrem Order. Závislosti se číslují od hodnoty 1. Parametr GraphName udává jméno grafu.


SetGraphSerieColor( GraphName : string; Order, Red, Green, Blue : real )

Nastavuje barvu průběhu grafu zadaného parametrem Order. Závislosti se číslují od hodnoty 1. Parametr GraphName udává jméno grafu.


GraphLegendVisible( GraphName : string; Visible : boolean )

Zapíná/vypíná zobrazování legendy. Parametr GraphName udává jméno grafu.


GraphTitleVisible( GraphName : string; Visible : boolean )

Zapíná/vypíná zobrazování titulku grafu. Parametr GraphName udává jméno grafu.


SetUserDepAxis( GraphName : string; Item, Value : real )

Nastavuje uživatelskou hodnotu zvoleného parametru osy závisle proměnné. Parametr GraphName udává jméno grafu. Parametr Item udává, která hodnota se bude nastavovat. Možné hodnoty jsou:

0 - dolní mez
1 - horní mez
2 - hlavní krok
3 - vedlejší krok


SetUserIndepAxis( GraphName : string; Item, Value : real )

Nastavuje uživatelskou hodnotu zvoleného parametru osy nezávisle proměnné. Parametr GraphName udává jméno grafu. Parametr Item udává, která hodnota se bude nastavovat. Možné hodnoty jsou:

0 - dolní mez
1 - horní mez
2 - hlavní krok
3 - vedlejší krok
Tato metoda se uplatní pouze u XY grafů.


SetAutoDepAxis( GraphName : string; Item : real )

Hodnotu zvoleného parametru osy závisle proměnné určená parametrem Item bude počítána automaticky z hodnot tabulky. Parametr GraphName udává jméno grafu. Možné hodnoty parametru Item jsou:

0 - dolní mez
1 - horní mez
2 - hlavní krok
3 - vedlejší krok


SetAutoIndepAxis( GraphName : string; Item : real )

Hodnotu zvoleného parametru osy nezávisle proměnné určená parametrem Item bude počítána automaticky z hodnot tabulky. Parametr GraphName udává jméno grafu. Možné hodnoty parametru Item jsou:

0 - dolní mez
1 - horní mez
2 - hlavní krok
3 - vedlejší krok
Tato metoda se uplatní pouze u XY grafů.

Událostní procedury přístroje

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

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

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.