#pas unit hiMyst; interface uses Kol,Share,If_arg,Debug; type THIMyst = class(TDebug) private Str :integer; Str1 :integer; Rez :integer; vichod:integer; vichod1:integer; public _prop_Type:byte; _prop_Op1:TData; _prop_Op2:TData; _prop_Mode:byte; /// _prop_Propar:integer; _data_Op2:THI_Event; _data_Op1:THI_Event; _event_onTrue:THI_Event; _event_onFalse:THI_Event; _data_doCompare: THI_Event; _data_doCompare1: THI_Event; procedure _work_doCompare(var _Data:TData; Index:word); procedure _work_doCompare1(var _Data:TData; Index:word); procedure _var_Rezult(var _Data:TData; Index:word); function preobr(var pp:integer):integer; end; implementation procedure THIMyst._var_Rezult; begin Rez:= (Str*16)+Str1; dtInteger(_Data,integer(Rez)); end; function THIMyst.preobr; var perem:integer; begin if (((pp > 48) and (pp < 58))or ((pp>96)and (pp<103))) then begin if pp<58 then begin perem:=pp-48 end else perem:=pp-87; Result:=perem; end else Result:=0; /// _hi_CreateEvent(_Data,@_event_onFalse,1); end; procedure THIMyst._work_doCompare; var op1,dt:TData; begin dt := _Data; Op1 := ReadData(_Data,_data_Op1,@_prop_Op1); vichod:= ToInteger(Op1); Str:= preobr(vichod); end; procedure THIMyst._work_doCompare1; var op,dt:TData; begin dt := _Data; Op := ReadData(_Data,_data_Op1,@_prop_Op1); vichod1:= ToInteger(Op); Str1:= preobr(vichod1); end; end.