Zobrazení symbolu motoru pro sestavení technologických schémat. Přístroj umožňuje animaci rotace ve dvou směrech otáčení.
engine engine_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; expression = boolean_expression; blink = boolean_expression; blink_rate = identifier; mode = identifier; step = integer; colors border_paper = color; run = color; end_colors; blink_colors border_paper = color; run = color; end_blink_colors; end_engine;
Implicitní tvar přístroje:
Implicitně jsou nastaveny parametry:
position = 0, 0, 25, 25; access = 4294967295; tab_select = 4294967295; mode = rotate_left; step = 30;
Příklad nastavení parametrů přístroje engine:
engine id_1; timer = time_step; owner = panel_1; position = 57, 264, 51, 51; expression = is_rotating; step = 15; end_engine;
SetValue( Value : boolean )Zápis nové hodnoty do přístroje včetně případného nastavení výstupního datového elementu.
MoveTo( x, y : real )Posunutí přístroje na pozici x, y. Velikosti hodnot x a y jsou v bodech obrazovky.
Show()Zobrazení skrytého přístroje.
Hide()Skrytí viditelného přístroje
SetMode( mode : real )Nastavení nového módu.
Reverse()Změna směru otáčení.
Blink( BlinkingActive : boolean )Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.
ToggleBlink()Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.
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 ) OnKeyDown( Character : cardinal ) OnKeyRepeat( Character : cardinal ) OnKeyUp( Character : cardinal ) OnSelect() OnDeselect() OnShow() OnHide() OnNewPosition( RectX, RectY, RectW, RectD : integer ) OnWindowMinimize() OnWindowMaximize() OnWindowRestore( WasMinimized, WasMaximized : boolean ) OnWindowClose()
OnOutput( Output : boolean )Procedura je zavolána po každém vyhodnocení logického výrazu před každým případným zápisem do výstupního datového elementu. V proměnné Output je hodnota, která bude přístrojem zobrazena a která bude případně po dokončení procedury zapsána do výstupního datového elementu. Toto hodnotu je možno v proceduře změnit.