proc m $fr $xr $zr $yr set linedelay 0 set %att[1] $fr switch $zr case "<" set $zr "-" set #comp 1 break case ">" set $zr "-" set #comp 2 break case "=" set $zr "-" set #comp 3 break case "!=" set $zr "-" set #comp 4 break case "?" set $zr "-" set #comp 5 break end_switch set #cs current_script if copy($xr 1 2) = 0x set $xr copy($xr 3 size($xr)) end_if if copy($yr 1 2) = 0x set $yr copy($yr 3 size($yr)) end_if set %x math.dbl($xr $zr $yr) if %x[2] != "OK" msg error: %x[3] stop_script #cs end_if set $regexp (^.*\d+?(?=,0+\b)|^.*\d+[,.]\d+?(?=0+\b)|^.*\d+[,.]\d+) set $x regexp(#p $r %x[1] $regexp) set $rr $r if (#comp = 1) and (((- >= $r) <> 1) or $r = 0) set $rr 0 end_if if (#comp = 1) and (- >= $r) set $rr 1 end_if if (#comp = 2) and ((- >= $r) <> 1) and ($r <> 0) set $rr 1 end_if if (#comp = 2) and ((- >= $r) or $r = 0) set $rr 0 end_if if (#comp = 3) and ($r <> 0) set $rr 0 end_if if (#comp = 3) and (%x[1] = "0,000000") set $rr 1 end_if if (#comp = 4) and ($r = 0) set $rr 0 end_if if (#comp = 4) and ($r <> 0) set $rr 1 end_if if (#comp = 5) and (- >= $r) set $rr < end_if if (#comp = 5) and ((- >= $r) <> 1) and $r <> 0 set $rr > end_if if (#comp = 5) and ($r = 0) set $rr = end_if set %arr [1 1] set %att[1].#cs $rr set #comp 0 eval(%arr[1]) set $fr end_proc