ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
Statistics: Posted by SylvainT — 08 Oct 2020, 10:37
I thing new syntax is it just for readability and ease of writing. And for new possibilities.
But many improvements were made for speed, script are really faster than ever.
All the best
Sylvain
]]>
Statistics: Posted by woodslanding — 06 Oct 2020, 22:03
Statistics: Posted by SylvainT — 05 Oct 2020, 10:10
Statistics: Posted by woodslanding — 05 Oct 2020, 05:30
Statistics: Posted by woodslanding — 18 Feb 2020, 16:56
Statistics: Posted by nay-seven — 18 Feb 2020, 09:40
Statistics: Posted by woodslanding — 18 Feb 2020, 09:34
CODE:
/////////////////////////////////////////////// strip filenames////////////////////////////////////////////// parameters declarationvar idxIN,pathsIN,selIN : Tparameter;var filenameOUT,displayOUT,idxOUT : Tparameter;var pathList : TstringList; var count : integer;// initialisation : create parametersprocedure init;var i : integer;begin SetModuleColor($807080+909960); pathsIN := CreateParam('full paths ct',ptTextField); SetIsOutPut(pathsIN,false); selIN := CreateParam('selection',ptDatafield); SetIsOutput(selIN,false); idxIN := CreateParam('index',ptDatafield); SetIsOutput(idxIN,false); filenameOUT := CreateParam('inst filename',ptTextField); SetIsInPut(filenameOUT,false); displayOUT := CreateParam('inst name',ptTextField); SetIsInPut(displayOUT,false); idxOUT := CreateParam('index',ptDatafield); SetIsInput(idxOUT,false); pathList.create; end; procedure destroy; begin pathList.free end; //TODO: do we need to be able to get an index out from a selection in???? procedure Callback(n:integer);var filename,name : string;var i,id,idx,sel : integer; begin if (n = pathsIN) then begin pathList.SetCommaText(GetStringValue(pathsIN)); count := pathList.count; end else if (n = selIN) then begin sel := trunc(getValue(selIN)); filename := SubFileExt(ExtractFileName(pathList.GetStrings(sel))); name := copy(filename,5,length(filename) - 4); idx := strToInt(copy(filename,1,3)); setValue(idxOUT, idx); setStringValue(filenameOUT,filename); setStringValue(displayOUT, name); end else if (n = idxIN) then begin id := trunc(getValue(idxIN)); setValue(idxOUT, id); For i := 0 to count - 1 do begin filename := SubFileExt(ExtractFileName(pathList.GetStrings(i))); strace('filename = ' + filename); name := copy(filename,5,length(filename) - 4); idx := strToInt(copy(filename,1,3)); if (id = idx) then begin setStringValue(filenameOUT,filename); setStringValue(displayOUT, name); end; end; // strace(GetStringValue(namesOUT)); end; end;// no process blocStatistics: Posted by woodslanding — 13 Jan 2020, 00:57
Statistics: Posted by SylvainT — 08 Oct 2020, 10:37
Statistics: Posted by woodslanding — 06 Oct 2020, 22:03
Statistics: Posted by SylvainT — 05 Oct 2020, 10:10
Statistics: Posted by woodslanding — 05 Oct 2020, 05:30
Statistics: Posted by woodslanding — 18 Feb 2020, 16:56
Statistics: Posted by nay-seven — 18 Feb 2020, 09:40
Statistics: Posted by woodslanding — 18 Feb 2020, 09:34
CODE:
/////////////////////////////////////////////// strip filenames////////////////////////////////////////////// parameters declarationvar idxIN,pathsIN,selIN : Tparameter;var filenameOUT,displayOUT,idxOUT : Tparameter;var pathList : TstringList; var count : integer;// initialisation : create parametersprocedure init;var i : integer;begin SetModuleColor($807080+909960); pathsIN := CreateParam('full paths ct',ptTextField); SetIsOutPut(pathsIN,false); selIN := CreateParam('selection',ptDatafield); SetIsOutput(selIN,false); idxIN := CreateParam('index',ptDatafield); SetIsOutput(idxIN,false); filenameOUT := CreateParam('inst filename',ptTextField); SetIsInPut(filenameOUT,false); displayOUT := CreateParam('inst name',ptTextField); SetIsInPut(displayOUT,false); idxOUT := CreateParam('index',ptDatafield); SetIsInput(idxOUT,false); pathList.create; end; procedure destroy; begin pathList.free end; //TODO: do we need to be able to get an index out from a selection in???? procedure Callback(n:integer);var filename,name : string;var i,id,idx,sel : integer; begin if (n = pathsIN) then begin pathList.SetCommaText(GetStringValue(pathsIN)); count := pathList.count; end else if (n = selIN) then begin sel := trunc(getValue(selIN)); filename := SubFileExt(ExtractFileName(pathList.GetStrings(sel))); name := copy(filename,5,length(filename) - 4); idx := strToInt(copy(filename,1,3)); setValue(idxOUT, idx); setStringValue(filenameOUT,filename); setStringValue(displayOUT, name); end else if (n = idxIN) then begin id := trunc(getValue(idxIN)); setValue(idxOUT, id); For i := 0 to count - 1 do begin filename := SubFileExt(ExtractFileName(pathList.GetStrings(i))); strace('filename = ' + filename); name := copy(filename,5,length(filename) - 4); idx := strToInt(copy(filename,1,3)); if (id = idx) then begin setStringValue(filenameOUT,filename); setStringValue(displayOUT, name); end; end; // strace(GetStringValue(namesOUT)); end; end;// no process blocStatistics: Posted by woodslanding — 13 Jan 2020, 00:57