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.