Statistics: Posted by ceasless — 23 Sep 2013, 14:25
Statistics: Posted by sephult — 23 Sep 2013, 13:44
CODE:
//////////////////////////// Index of Changed Array Value/////////////////////////// parameters declarationvar mem, arrIn, value, index : tParameter;var s,l : integer;var m,x : single;var hasRun : integer;// initialisation : create parametersprocedure init;begin mem := createParam('memory',ptArray); setIsInput(mem,false); setIsOutput(mem,false); arrIn := createParam('array in',ptArray); setIsOutput(arrIn,false); index := createParam('index',ptDatafield); setIsInput(index,false); value := createParam('value',ptDatafield); setIsInput(value,false); hasRun := 0;end;// Callback procedureProcedure Callback(N:integer); begin case N of arrIn: begin if hasRun = 1 then begin l := getLength(arrIn); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); m := getDataArrayValue(mem,s); if x <> m then begin setValue(index,s); setValue(value,x); end; end; end; l := getLength(arrIn); setLength(mem,l); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); setDataArrayValue(mem,s,x); end; hasRun := 1; end; end;end;// Global variables//////////////////////////////// main proc//////////////////////////////Procedure Process;begin if hasRun = 0 then begin l := getLength(arrIn); setLength(mem,l); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); setDataArrayValue(mem,s,x); end; hasRun := 1; end;end;Statistics: Posted by ceasless — 23 Sep 2013, 13:36
Statistics: Posted by ceasless — 22 Sep 2013, 19:25
Statistics: Posted by ceasless — 23 Sep 2013, 14:25
Statistics: Posted by sephult — 23 Sep 2013, 13:44
CODE:
//////////////////////////// Index of Changed Array Value/////////////////////////// parameters declarationvar mem, arrIn, value, index : tParameter;var s,l : integer;var m,x : single;var hasRun : integer;// initialisation : create parametersprocedure init;begin mem := createParam('memory',ptArray); setIsInput(mem,false); setIsOutput(mem,false); arrIn := createParam('array in',ptArray); setIsOutput(arrIn,false); index := createParam('index',ptDatafield); setIsInput(index,false); value := createParam('value',ptDatafield); setIsInput(value,false); hasRun := 0;end;// Callback procedureProcedure Callback(N:integer); begin case N of arrIn: begin if hasRun = 1 then begin l := getLength(arrIn); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); m := getDataArrayValue(mem,s); if x <> m then begin setValue(index,s); setValue(value,x); end; end; end; l := getLength(arrIn); setLength(mem,l); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); setDataArrayValue(mem,s,x); end; hasRun := 1; end; end;end;// Global variables//////////////////////////////// main proc//////////////////////////////Procedure Process;begin if hasRun = 0 then begin l := getLength(arrIn); setLength(mem,l); for s:=0 to l-1 do begin x := getDataArrayValue(arrIn,s); setDataArrayValue(mem,s,x); end; hasRun := 1; end;end;Statistics: Posted by ceasless — 23 Sep 2013, 13:36
Statistics: Posted by ceasless — 22 Sep 2013, 19:25