Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Цитата vlad_exe@vk:
Код: Выделить весь код
%HH%-%HH2%=H
%MM%-%MM2%=M
%SS%-%SS2%=S
»
Ну, если бы всё так просто было. А вот допустим, у нас старт программы в 23:55:01, а завершение в 01:12:37. Что в этом случае ваш код насчитает, 22 часа 43 минуты и -36 секунд?
Не забывайте, что минуты и секунды - это шестидесятеричная система счисления, в которой Set /A работать увы, не умеет. А часы - принятое у нас деление на 24, хорошо, что не нужно реализовывать европейское 2х12, am и pm. Следовательно, если bat не умеет работать с такими системами счисления, что нужно сделать? Перевести в понятное командному интерпретатору windows счисление, десятичное к примеру. Для этого в том примере, что был дан вам в прошлой теме, я использую две функции - сериализацию времени, и соответственно, его десериализацию. Сначала переводим все данные в секунды, это десятичное число не превышает возможностей арифметики командного процессора, и с ним можно уже работать - вычитать, прибавлять и осуществлять более сложные операции. При этом не стоит забывать о переполнении раз в сутки, тот же пример со стартом в 23:55:01 и завершением в 01:12:37. И только после всех необходимых рассчетов с сериализованным временем его можно десериализовать и вывести понятный человеку результат. Вполне логично это будет организовать в виде функций с передаваемыми им аргументами.
Цитата vlad_exe@vk:
какое у вас образование ? вы программист »
Нет. Немного балуюсь скриптовыми языками - перл, питон, но это именно что баловство. Если вы клоните к тому, что предлагаемые решения слишком сложны для гуманитария, то разочарую вас, это не так. Тут никакого матана не нужно, достаточно лишь логического мышления.

Цитата gora:
Если запускаемая программа Game.exe запускает процесс redebook.exe и сама закрывается, то такой вариант не сработает. »
Да, вы правы, я немного поспешил с выводами. Но как мне кажется, лучше всегда исходить из наиболее простого варианта, усложнить никогда не поздно, в том числе, и с отслеживанием по имени процесса\дочерним процессам.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:21, 15-05-2012 | #13