1 | ||||||
Как в VBA узнать длительность операции в миллисекундах?28.05.2016, 11:46. Просмотров 3349. Ответов 12
Метки нет Все метки)
(
Выполняю ряд функций в основной функции, которая в свою очередь выполняется в цикле заголовочной функции.
Длительность выполнения заголовочной функции слишком высокая. Замерил время выполнения всех основных функций в заголовочной - выловил ту самую основную, которая и тормозит процесс. Но когда замерил время выполнения функций, выполняющихся в тормозной основной функции - дебугер выдал мне нолики. как измеряю время:
Но я измерить эти миллисекунды не могу. Как? Добавлено через 8 минут Вот содержимое окошка immediate: Этап 0 0 Этап 1 1,15740740740389E-05 Этап 2 6,94444444444553E-05 Этап 3 0 Этап 4 0 Этап 5 0 Этап 6 1,15740740740944E-05 Этап 7 1,15740740740389E-05 А это время выполнения отельных функций во 2 этапе Начало 0 Создание_массивов_записи_БД 0 Наполнение_массивов_записи_БД 0 Обработка_пустышек_массивов_записи_БД 0 Запись_данных 0
0
|
|
28.05.2016, 11:46 | |
Как узнать длительность аудиофайла?
sndPlaySound - как узнать длительность? Как узнать длительность mp3 файла? |
|
Модератор
![]() |
||||||
29.05.2016, 08:22 | 4 | |||||
![]() Решение
Вот пример кода с иcпользованием GetTickCount - замер времени на сортировку массива:
2
|
81 / 4 / 2
Регистрация: 29.04.2015
Сообщений: 117
|
|
02.07.2017, 12:07 | 5 |
В Excel 2010 API GetTickCount в VBA не объявляется, как решить такую проблему?
Добавлено через 59 минут Нашел способ, в Excel 2010 API функция объявляется так: Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
0
|
81 / 4 / 2
Регистрация: 29.04.2015
Сообщений: 117
|
|
02.07.2017, 14:00 | 7 |
По большому счету не чем, но без PtrSafe в 2010 функция не объявится, а в 2003 с PtrSafe так же не выполнится.
Добавлено через 1 час 15 минут Ура, есть способ, что бы работала на разных версиях, объявляем так: #If VBA7 Then Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long #Else Private Declare Function GetTickCount Lib "kernel32" () As Long #End If И сохраняем файл в формате .xls
0
|
6811 / 2754 / 518
Регистрация: 19.10.2012
Сообщений: 8,408
|
|
02.07.2017, 14:26 | 8 |
- а вот у меня объявится.
Не надо делать таких безаппеляционных заявлений! Народ только путаете ![]()
0
|
81 / 4 / 2
Регистрация: 29.04.2015
Сообщений: 117
|
|
02.07.2017, 15:15 | 9 |
Разрядность другая машины, или 2010 для другой разрядности, я так думаю, в любом случае переключатель универсален в файле .xls
0
|
![]() ![]() |
|
02.07.2017, 18:14 | 10 |
Через QueryPerformanceCounter замер будет более точным.
Можете посмотреть здесь пример. Или прямо так и подключить в виде класса. Для x64, возможно, тоже потребуется изменить декларацию на PtrSafe
0
|
81 / 4 / 2
Регистрация: 29.04.2015
Сообщений: 117
|
|
02.07.2017, 18:28 | 11 |
Переход по ссылке дает ошибку.
![]()
0
|
![]() ![]() |
|
02.07.2017, 19:21 | 12 |
Ой, простите, не то прикрепил. Вот правильная: Готовые решения и полезные коды на Visual Basic 6.0
1
|
81 / 4 / 2
Регистрация: 29.04.2015
Сообщений: 117
|
|
02.07.2017, 19:28 | 13 |
Спасибо!
0
|
02.07.2017, 19:28 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Как узнать длительность видео (QuickTime) в Delphi XE2 FireMonkey? нужно узнать длину аудио файла в миллисекундах Обновление и длительность операции Можно ли узнать длину mp3 или wav файла в миллисекундах? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |