AXForum  
Вернуться   AXForum > Блоги > AX notes
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Оценить эту запись

Simple watch

Запись от Link размещена 25.03.2015 в 18:02
Теги code example

X++:
static void SimpleWatch(Args _args)
{
    DEV_Global::startWatch(1);
    
    DEV_Global::startWatch(2);
    
    sleep(100);

    DEV_Global::stopWatch('Watch 1', 1);
    
    sleep(300);
        
    DEV_Global::stopWatch('Watch 2', 2);
}
Код:
Watch 1: 00:00:00.1007452
Watch 2: 00:00:00.4087249
X++:
static public server void startWatch(int _idx = 1)
{
    System.Diagnostics.Stopwatch        watch;

    watch = new System.Diagnostics.Stopwatch();
    watch.Start();    
    
    if (appl.globalCache().isSet(identifierStr(Stopwatch), _idx))
    {
        appl.globalCache().remove(identifierStr(Stopwatch), _idx);
        info('Old watch has been reset.');
    }    
    
    appl.globalCache().set(identifierStr(Stopwatch), _idx, watch);
}
X++:
static public server str stopWatch( TempStr _txt        = 'Elapsed time', 
                                    int     _idx        = 1, 
                                    boolean _skipInfo   = false)
{
    System.Diagnostics.Stopwatch        watch;
    System.TimeSpan                     elapsed;
    str                                 ret;
    
    if (appl.globalCache().isSet(identifierStr(Stopwatch), _idx))
    {
        watch = appl.globalCache().get(identifierStr(Stopwatch), _idx);
        appl.globalCache().remove(identifierStr(Stopwatch), _idx);
    }    
    
    if (watch && watch.get_IsRunning())
    {
        watch.Stop();
        elapsed = watch.get_Elapsed();
        
        ret = CLRInterop::getAnyTypeForObject(elapsed.ToString());
        
        if (!_skipInfo)
        {
            info(strFmt('%1: %2', _txt, ret));  
        }
    }
    else
    {
        info('Watch is not running.');
    }
    
    return ret;
}
Размещено в Код
Просмотров 38520 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:27.