recipe recipe_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;
data_file = string;
pane_file = string;
dv_id = string;
font = font_identifier, integer, style_identifier;
record_number = real_expression;
create_record = boolean_expression;
delete_record = boolean_expression;
record_set = real_dataelement;
records_count = real_dataelement;
data_update = boolean_expression;
data_updated = boolean_dataelement;
file_update = boolean_expression;
file_updated = boolean_dataelement;
input_mode = boolean_expression;
receivers = [ identifier, ... ];
item
name = string;
type = identifier;
length = integer;
dec_places = integer;
range_from = real;
range_to = real;
position = integer, integer, integer, integer;
label_pos = integer, integer;
label_text = string;
input = any_expression;
output = any_dataelement;
protect;
end_item;
item
...
end_item;
colors
text = color;
background = color;
ink = color;
paper = color;
selected_ink = color;
selected_paper = color;
top_shadow = color;
bottom_shadow = color;
end_colors;
end_recipe;
Menu okna přístroje má následující položky:
Soubor
Otevřít... – Otevře soubor typu DBF.
Uložit – Uloží nastavená data do souboru typu DBF.
Záznam
Další – Nastaví hodnoty receptury na další záznam souboru.
Předchozí – Nastaví hodnoty receptury na předchozí záznam souboru.
Přidat – Přidá nový záznam.
Vložit – Vloží nový záznam na pozici aktuálního záznamu.
Kopírovat data – Je–li tato volba zadána, pak vždy při vytvoření nového záznamu se okopírují hodnoty položek z naposled nastaveného záznamu.
Receptura
Nastavení – Nastaví data z aktuálního záznamu na definované výstupy.
Načtení – Naplní aktuální záznam hodnotami získanými vyčíslením definovaných výrazů.
Některé parametry mají implicitní nastavení
position = 0, 0, 100, 100;
access = <none>
tab_select = <none>
colors
text = black;
background = lgray;
end_colors;
Příklad nastavení parametrů přístroje
recipe Receptura;
owner = Recipe_Sample;
position = 339, 120, 260, 150;
data_file = RECIPE.DBF;
pane_file = RECIPE.PCX;
record_number = RecipeNumber;
create_record = CreateRecipe;
delete_record = DeleteRecipe;
record_set = ActiveRecipe;
records_count = RecipeCount;
data_update = UpdateRecipeData;
data_updated = RecipeDataUpdated;
file_update = UpdateRecipeFile;
file_updated = RecipeFileUpdated;
input_mode = InputRecipeMode;
receivers = V_X1, G_X1, V_X2, G_X2;
item
name = VALUE_X1;
type = numeric;
length = 5;
dec_places = 1;
position = 45, 50, 75, 17;
label_pos = 25, 53;
label_text = 'X1';
input = VR1;
output = OutRealCh1;
end_item;
item
name = COMMENT;
type = character;
length = 1;
position = 70, 115, 165, 17;
label_pos = 25, 117;
label_text = 'Note';
end_item;
end_recipe;
NewFile()
Smaže všechny záznamy v receptuře a připraví ji pro zadávání nových dat.
OpenFile( Filename : string; &Result : boolean )
Načte databázový soubor specifikovaný v parametru Filename do receptury. V parametru Result vrací výsledek operace.
SaveFile( Filename : string; &Result : boolean )
Uloží záznamy receptury do databázového souboru specifikovaného v parametru Filename. V parametru Result vrací výsledek operace.
AppendRecord( &Result : boolean )
Přidá nový záznam. V parametru Result vrací výsledek operace.
InsertRecord( &Result : boolean )
Přidá nový záznam. V parametru Result vrací výsledek operace.
DeleteRecord( &Result : boolean )
Smaže právě aktuální záznam receptury. V parametru Result vrací výsledek operace.
DeleteAllRecords( &Result : boolean )
Smaže všechny záznamy receptury. V parametru Result vrací výsledek operace.
GetRecordNumber( &RecordNumber : number )
Vrací v parametru RecordNumber číslo právě zobrazeného záznamu.
GoPrevRecord( &Result : boolean )
Přechod na předchozí záznam. V parametru Result vrací výsledek operace.
GoNextRecord( &Result : boolean )
Přechod na následující záznam. V parametru Result vrací výsledek operace.
GoToRecord( RecordNumber : number; &Result : boolean )
Přechod na záznam RecordNumber. V parametru Result vrací výsledek operace.
FindRecord( Itemname, ValueStr : string; IgnoreCase, FindSubStr, &Result : boolean; &RecordNumber : number )
Pokud je parametr FindSubStr nastaven na hodnotu false, pak hledá záznam, jehož položka Itemname je rovna ValueStr. Pokud je parametr FindSubStr nastaven na hodnotu true, pak hledá záznam, jehož položka Itemname obsahuje řetězec uvedený v parametru ValueStr. Pokud je parametr IgnoreCase nastaven na hodnotu true, pak ignoruje velikost písmen. Výsledek operace vrací v parametru Result. Pokud je záznam splňující zadané podmínky nalezen, parametr RecordNumber obsahuje číslo nalezeného záznamu.
FindNextRecord( &Result : boolean; &RecordNumber : number )
Hledá další záznam, splňující podmínky zadané pomocí metody FindRecord. Výsledek operace vrací v parametru Result Pokud je záznam splňující zadané podmínky nalezen, parametr RecordNumber obsahuje číslo nalezeného záznamu.
SetRecipe( RecordNumber : real; &Result : boolean )
Nastaví hodnoty ze záznamu receptury RecordNumber na definované výstupy receptury. V parametru Result vrací výsledek operace.
GetRecipe(RecordNumber : number; &Result : boolean )
Vyhodnotí nadefinované vstupní výrazy a vysledky nastaví do záznamu RecordNumber. V parametru Result vrací výsledek operace.
Hide()
Skrytí viditelného přístroje.
Show()
Zobrazení skrytého přístroje.
Minimize()
Minimalizuje přístroj v okně do ikony.
Restore()
Obnoví přístroj (pokud je v okně) z ikony do pracovní plochy.
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.
OnGetRecipe( RecordNumber : real )
Procedure je volána před naplněním hodnot získaných vyčíslením přiřazených výrazů do položek záznamu RecordNumber.
OnSetRecipe( RecordNumber : real )
Procedure je volána před zápisem hodnot z položek záznamu RecordNumber na přiřazené datové elementy.