Кибор » Кибор - Интегрированная среда разработки ботов » Отчет о ошибках » gettime

Страниц (1): [1]
 

1. resident - 27 Декабря, 2023 - 02:31:02 - перейти к сообщению
messagebox(format(gettime()));
возвращает отрицательное значение
Время работы 24:22:34:41
2. Kibor - 27 Декабря, 2023 - 02:48:25 - перейти к сообщению
gettime возвращает время в мсек с запуска компьютера.
В Кибор оно возвращается как int
Тут нет long
Целый тип int имеет размер 4 байта (32 бита). Минимальное значение -2 147 483 648, максимальное значение 2 147 483 647.
Возвращаемое значение превысило границы положительного значения int и трактуется как отрицательное.
3. resident - 27 Декабря, 2023 - 03:00:33 - перейти к сообщению
С ноля бы тогда снова считал. Ладно, это сам сделаю.
4. Zireael - 27 Декабря, 2023 - 03:05:04 - перейти к сообщению
Для таких случаев, когда комп не перезагружается, лучше использовать GetProcessTimes. Считать время с момента запуска кибор. Это поможет если перезапускать кибор чаще чем раз в 24 дня.
5. resident - 27 Декабря, 2023 - 03:28:07 - перейти к сообщению
 Kibor пишет:
gettime возвращает время в мсек с запуска компьютера.
В Кибор оно возвращается как int
Тут нет long

double есть
(Добавление)
gettime(1) возвращает double, как вариант
6. Zireael - 27 Декабря, 2023 - 03:43:17 - перейти к сообщению
 Цитата:
gettime(1) возвращает double, как вариант

И когда комп отработает 49 дней возникнет другая проблема, т. к. отсчёт начнётся сначала. Почитайте: timeGetTime
7. Kibor - 27 Декабря, 2023 - 03:43:55 - перейти к сообщению
 resident пишет:
gettime(1) возвращает double, как вариант

Это где вы нашли?
(Добавление)
Теоретически можно отслеживать когда gettime начнет выдавать отрицательное значение, переводить его в положительное начиная с 0. Когда пройдет круг опять будет выдавать с 0.
Но можно использовать другой подсчет. К примеру getlocaltime.
Секунду считать самой малой единицей.
Или проверять что вернула gettime и рассчитывать разницу и заносить ее в отдельный счетчик разделив на сколько угодно. Если вернула отрицательное, рассчитыват разницу между тем что было и что есть.
8. Zireael - 27 Декабря, 2023 - 03:54:04 - перейти к сообщению
 Цитата:
gettime(1) возвращает double, как вариант
Это где вы нашли?

Имелось ввиду добавить такой вариант использования функции.
Лучше добавить функцию возвращающую время с момента запуска кибор.

Powered by ExBB FM 1.0 Final