Источник:
http://www.ksaelen.be/wordpresses/dy...ics-stopwatch/
==============
I often see code that still uses the WinApi::GetTickCount method to measure an interval of time. And though there is nothing wrong with it, I wanted to show an alternative method : the StopWatch already known in .Net for quite some time.
The sample below show the usage of the stopwatch while I was testing something out with looping all of the tables in the system:
X++:
static void FetchTableNames_ModelElementTables(Args _args)
{
SysModelElement element;
SysModelElementType elementType;
System.Collections.ArrayList tableNames = new System.Collections.ArrayList();
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
int64 elapsed;
;
stopWatch.Start();
// The SysModelElementType table contains the element types and we need the recId for the next selection
select firstonly RecId
from elementType
where elementType.Name == 'Table';
// With the recId of the table element type, select all of the elements with that type (hence, select all of the tables)
while select Name
from element
where element.ElementType == elementType.RecId
{
tableNames.Add(element.Name);
}
stopWatch.Stop();
// Get the time it took
elapsed = stopWatch.get_ElapsedMilliseconds();
info(strFmt("Time taken: %1", elapsed));
}
Источник:
http://www.ksaelen.be/wordpresses/dy...ics-stopwatch/