Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Без описания
resident
Отправлено: 27 Декабря, 2023 - 10:31:02
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




messagebox(format(gettime()));
возвращает отрицательное значение
Время работы 24:22:34:41
 
 Top
Kibor
Отправлено: 27 Декабря, 2023 - 10:48:25
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




gettime возвращает время в мсек с запуска компьютера.
В Кибор оно возвращается как int
Тут нет long
Целый тип int имеет размер 4 байта (32 бита). Минимальное значение -2 147 483 648, максимальное значение 2 147 483 647.
Возвращаемое значение превысило границы положительного значения int и трактуется как отрицательное.
 
 Top
resident
Отправлено: 27 Декабря, 2023 - 11:00:33
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




С ноля бы тогда снова считал. Ладно, это сам сделаю.
 
 Top
Zireael
Отправлено: 27 Декабря, 2023 - 11:05:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4399
Дата рег-ции: Нояб. 2017  
Репутация: 580




Для таких случаев, когда комп не перезагружается, лучше использовать GetProcessTimes. Считать время с момента запуска кибор. Это поможет если перезапускать кибор чаще чем раз в 24 дня.
 
 Top
resident
Отправлено: 27 Декабря, 2023 - 11:28:07
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




 Kibor пишет:
gettime возвращает время в мсек с запуска компьютера.
В Кибор оно возвращается как int
Тут нет long

double есть
(Добавление)
gettime(1) возвращает double, как вариант
 
 Top
Zireael
Отправлено: 27 Декабря, 2023 - 11:43:17
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4399
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
gettime(1) возвращает double, как вариант

И когда комп отработает 49 дней возникнет другая проблема, т. к. отсчёт начнётся сначала. Почитайте: timeGetTime
 
 Top
Kibor
Отправлено: 27 Декабря, 2023 - 11:43:55
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 resident пишет:
gettime(1) возвращает double, как вариант

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



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4399
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
gettime(1) возвращает double, как вариант
Это где вы нашли?

Имелось ввиду добавить такой вариант использования функции.
Лучше добавить функцию возвращающую время с момента запуска кибор.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Отчет о ошибках »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by