archiver

Funkce

Archivuje požadovaná data buď do standardního databázového souboru ve formátu dBase III nebo do libovolného databázového systému přes rozhraní ODBC. Strukturu záznamu lze uživatelsky podle potřeby definovat. Archivní soubory mohou vznikat jednorázově nebo periodicky podle časového období zachyceného v jednom archivním souboru. Lze také definovat jejich historii, respektive počet souborů uchovávaných na disku nebo v databázích.


Syntax

  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;

Specifické parametry přístroje

Podrobný popis parametrů pro definici archivních souborů je uveden v kapitole Databáze a archivace dat.


Poznámky

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:

DataView

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

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;

Nativní procedury přístroje

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.

Událostní procedury 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.