Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Написал вид своего счетчика времени для проекта, оцените!!!
Code
.Считываем значения переменной времени из файла FileRead "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]" FileRead "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]" .Объединяем эти значения разделив занком точки с запятой SetVar "[time_igra]" "[time_ch]:[time_m]" .Выставляем задержку перед выполннеием дальнейшего. Delay "60000" .Если данный файлы не пустые запускаем цикл отсчета времени While "[time_igra]" "<>" ":" .Время формируеться соответсвенно 1 минута приложения = 5 минутам в реальности Math "[time_m]+05" "0" "[time_m]" .Если значение минут превышает 60 присваиваем им значения 00 а к знаения заса добавляеться 1 If "[time_m]" ">" "55" SetVar "[time_m]" "00" Math "[time_ch]+1" "0" "[time_ch]" .Если значения часа превышает 23 присваиваем ему значение 00 IfEx "[time_ch]>23" SetVar "[time_ch]" "00" EndIf EndIf .Так как значения числовые их надо перевести в вид отображения времени из 1 в 01 .Для этого считываем количество символов в переменных времени StrLen "[time_ch]" "[ch]" StrLen "[time_m]" "[m]" .Если количество символов в переменных времени меньше 2 добавляем перед данными знчениями цифру 0 If "[ch]" "<" "2" StrIns "0" "[time_ch]" "1" "[time_ch]" EndIf If "[m]" "<" "2" StrIns "0" "[time_m]" "1" "[time_m]" EndIf .Сохраняем полученные значения в ини файле FileWrite "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]" FileWrite "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]" .Объединяем эти значения разделив занком точки с запятой SetVar "[time_igra]" "[time_ch]:[time_m]" .Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения Delay "60000" .Заканчиваем цикл EndWhile .Если данные ини файла оказались пустыми, посылаем куда подальше работающего с приложением <img rel="usm" src="http://neobooker.ru/Smiles/ab.gif" border="0" align="absmiddle" alt=":)"> :PosolTi AlertBox "Не лезь куда не просят!!!" "Какого черта редактировал файлы, придурок!!!" AlertBox "Не лезь куда не просят!!!" "Ты думаешь это все!!!" AlertBox "Не лезь куда не просят!!!" "Я теперь тебя за***!!!" GotoLine "PosolTi"
Тема перенесена из раздела "Вопросы и ответы", т.к. более соответствует тематике данного раздела. anton68, пожалуйста, в следующий раз будьте более внимательным при выборе раздела для вновь создаваемой темы.
Но, я так и не смог понять что тут нужно оценивать?
Вот это:
Quote (anton68)
GotoLine "PosolTi"
действительно, нельзя не оценить!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В любом случае, точный учет времени лучше вести отталкиваясь от значений системного времени Windows, а не от внутреннего времени проекта, т.е. по таймеру или задержке.
Вот это место:
Quote (anton68)
.Если данный файлы не пустые запускаем цикл отсчета времени While "[time_igra]" "<>" ":"
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Цитата от (anton68) .Если данный файлы не пустые запускаем цикл отсчета времени While "[time_igra]" "<>" ":"
вызывает, мягко говоря, сомнения.
Это просто проверка на существования значений в файле.
Quote
Вот здесь:
Quote
Цитата от (anton68) If "[time_m]" ">" "60"
Тут согласен недосмотрел.
Quote
Вот это:
Quote
Цитата от (anton68) .Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения Delay "60000"
Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.
Постоянные чтения и запись в файл/из файла.... Гм...
Постоянная только запись, чтение разовое при запуски программы.... Ну а тут смысл в том, что после закрытия проекта и запуска его вновь время оставалось то же что и в момент последнего выхода из программы. Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.
Поэтому я приманил тут задержку, иначе не знаю просто как сделать из расчета допустим системного времени, мне то надо чтобы время в программе шло быстрее вне зависимости что написано на часах в трее.. Я тему потому и назвал на форуме "Рeализация своего времени в проекте NeoBook"
А как еще можно сделать подобный таймер времени без задержки и таймера?
Сообщение отредактировано anton68 - Чт, 10 Марта 2011, 18:46
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.
FileWrite "Имя файла" "All" "Имя переменной=[Переменная]|Имя переменной=[Переменная]|и т.д." Записываешь таким образом те переменные которые тебе нужны. Не хочешь читать хелп?
Это просто проверка на существования значений в файле.
Гм... Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК. И потом:
Code
While "[time_igra]" "<>" ":"
Предствьте, что "хитрый юзверь" часы удалил, а минуты оставил...
Quote (anton68)
Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.
Без более подробного описания смысла, "оценить" это все-равно сложно.
Quote (anton68)
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые
Вы можете написать свою собственную функцию по сохранению только необходимых переменных. К тому же, запись в файл экономичнее делать "одним махом" (весь файл сразу), а не построчно. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Гм... Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК. И потом:
Code
While "[time_igra]" "<>" ":"
Предствьте, что "хитрый юзверь" часы удалил, а минуты оставил...
Да... хитрый однако юзер.... ну тогда вместо команды
Code
While "[time_igra]" "<>" ":"
надо написать
Code
WhileEx "[time_ch]>-1 and [time_m]>-1"
Quote
Без более подробного описания смысла, "оценить" это все-равно сложно.
Вы правы, для более явного осмысления для чего служит данный счетчик, я выложу скомпилированный вариант моего проекта, но это чуть позже... пока там лишь разрозненный набор функций которые надо между собой связать и т.д.
Quote
Вы можете написать свою собственную функцию по сохранению только необходимых переменных. К тому же, запись в файл экономичнее делать "одним махом" (весь файл сразу), а не построчно.
В моем родном проекте все переменные которые мне нужны и записываются одним махом, при закрытии проекта, здесь вывел это просто в код, так как это маленький кусок от моего проекта... Просто хотел показать как я считаю время, и чтобы мне сказал что я сделал не так. За что всем и в отдельности Peterу, огромное спасибо...
Сообщение отредактировано anton68 - Чт, 10 Марта 2011, 19:19