archiver archiver_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;
driver_exception = driver_name;
file_name = string;
file_type = identifier;
file_length = integer;
file_start = integer, integer, integer, integer;
file_history = integer;
file_name_type = identifier;
file_mask_expression = real_expression;
file_delete = boolean_expression;
cache = integer;
condition = boolean_expression;
output = boolean_dataelement;
date_item
name = string;
expression = real_expression;
disable;
end_date_item;
time_item
name = string;
expression = real_expression;
disable;
end_time_item;
odbc
enable;
dsn = string;
user_name = string;
password = string;
file_extension = string;
end_odbc;
item
name = string;
type = identifier;
length = integer;
dec_places = integer;
expression = any_expression;
end_item;
item
...;
end_item;
colors
text = color;
background = color;
top_shadow = color;
bottom_shadow = color;
select = color;
button_up_background = color;
button_up_top_shadow = color;
button_up_bottom_shadow = color;
button_down_background = color;
button_down_top_shadow = color;
button_down_bottom_shadow = color;
end_colors;
end_archiver;
Podrobný popis parametrů pro definici archivních souborů je uveden v kapitole Databáze a archivace dat.
Postup při vykonávání funkcí přístroje
Vzhled a ovládání archiveru
Při vložení samotného archiveru do aplikace se zobrazí v podobě uvedené na obrázku:
Bude mít tlačítko a prostor pro zobrazování názvu právě aktuálního archivního souboru. Kliknete-li myší na tlačítko (ikona pro otevření souboru), zobrazí se dialogové okno, ve kterém jsou zobrazeny dostupné archivní soubory. Data vybraného souboru lze prohlížet nebo zpracovávat dostupnými DataView nebo soubor zkopírovat do jiného adresáře nebo jej uložit pod jiným jménem.
Některé parametry mají implicitní nastavení
position = 0, 0, 150, 28;
access = <none>
tab_select = <none>
file_type = relative;
file_length = hour;
file_start = 0, 0, 1, 1;
file_history = 10;
file_name_type = new_code;
cache = 1;
date_item
name = 'DATE';
end_date_item;
time_item
name = 'TIME';
end_time_item;
colors
text = black;
background = lgray;
top_shadow = dgray;
bottom_shadow = white;
select = black;
button_up_background = lgray;
button_up_top_shadow = white;
button_up_bottom_shadow = dgray;
button_down_background = lgray;
button_down_top_shadow = dgray;
button_down_bottom_shadow = white;
end_colors;
Příklad nastavení přístroje:
archiver Archiver1;
timer = 0.1;
owner = background;
position = 40, 45, 174, 28;
win_title = 'Archiver';
file_type = absolute;
file_length = day;
file_start = 0, 6, 0, 0;
file_name = B;
file_history = 7;
condition = B1_archive_enabled;
output = B1_output;
item
name = QUANTITY;
type = numeric;
length = 6;
dec_places = 2;
expression = 10 * sin( second / 60 );
end_item;
end_archiver;
DoArchive()
Provede archivaci nadefinovaných dat.
FlushBuffer()
V případě, že je definován buffer (parametr cache), dojde při zavolání této metody k zápisu dat z bufferu do souboru na disk a k jeho vyprázdnění.
Show()
Zobrazení skrytého přístroje.
Hide()
Skrytí viditelného přístroje.
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 ) 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.