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í.
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;
Pro zjištění buňky tabulky, která způsobila chybný vstup a pro definici dalšího zpracování slouží následující parametry:
Datový typ v prvcích cp_type a table_type může nabývat následujících hodnot: error = 1, boolean = 2, shortcard = 3, cardinal = 4, longcard = 5, shortint = 6, integer = 7, longint = 8, real = 9, longreal = 10, string = 11, buffer = 12, unknown = 13.
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;
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:
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:
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:
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:
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:
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.