Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Проекты NeoBook » Рeализация своего времени в проекте NeoBook
Рeализация своего времени в проекте NeoBook
anton68Дата: Чт, 10 Марта 2011, 11:25 | Сообщение # 1
Любопытный
Написал вид своего счетчика времени для проекта, оцените!!!
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"
Прикрепления: 7469443.rar(5.4 Kb)


Сообщение отредактировано
anton68 - Чт, 10 Марта 2011, 18:40
 
СообщениеНаписал вид своего счетчика времени для проекта, оцените!!!
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
Дата добавления - 10 Марта 2011 в 11:25
PeterДата: Чт, 10 Марта 2011, 16:13 | Сообщение # 2
Админ NeoBook
Тема перенесена из раздела "Вопросы и ответы", т.к. более соответствует тематике данного раздела.
anton68, пожалуйста, в следующий раз будьте более внимательным при выборе раздела для вновь создаваемой темы.

Но, я так и не смог понять что тут нужно оценивать?
%)
Вот это:

Quote (anton68)
GotoLine "PosolTi"

действительно, нельзя не оценить!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеТема перенесена из раздела "Вопросы и ответы", т.к. более соответствует тематике данного раздела.
anton68, пожалуйста, в следующий раз будьте более внимательным при выборе раздела для вновь создаваемой темы.

Но, я так и не смог понять что тут нужно оценивать?
%)
Вот это:

Quote (anton68)
GotoLine "PosolTi"

действительно, нельзя не оценить!


Автор - Peter
Дата добавления - 10 Марта 2011 в 16:13
PeterДата: Чт, 10 Марта 2011, 18:12 | Сообщение # 3
Админ NeoBook
Есть одна (пока) нестыковка:

В любом случае, точный учет времени лучше вести отталкиваясь от значений системного времени Windows, а не от внутреннего времени проекта, т.е. по таймеру или задержке.

Вот это место:

Quote (anton68)
.Если данный файлы не пустые запускаем цикл отсчета времени
While "[time_igra]" "<>" ":"

вызывает, мягко говоря, сомнения.
Вот здесь:
Quote (anton68)
If "[time_m]" ">" "60"

с учетом:
Quote (anton68)
.Время формируеться соответсвенно 1 минута приложения = 5 минутам в реальности

нужно записать так:
Code
If "[time_m]" ">" "55"

Вот это:
Quote (anton68)
.Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения
Delay "60000"

вообще не понял!
%)
Quote (anton68)
FileRead "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileRead "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Quote (anton68)
FileWrite "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileWrite "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Постоянные чтения и запись в файл/из файла....
Гм...
Прикрепления: 0935720.png(8.6 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеЕсть одна (пока) нестыковка:

В любом случае, точный учет времени лучше вести отталкиваясь от значений системного времени Windows, а не от внутреннего времени проекта, т.е. по таймеру или задержке.

Вот это место:

Quote (anton68)
.Если данный файлы не пустые запускаем цикл отсчета времени
While "[time_igra]" "<>" ":"

вызывает, мягко говоря, сомнения.
Вот здесь:
Quote (anton68)
If "[time_m]" ">" "60"

с учетом:
Quote (anton68)
.Время формируеться соответсвенно 1 минута приложения = 5 минутам в реальности

нужно записать так:
Code
If "[time_m]" ">" "55"

Вот это:
Quote (anton68)
.Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения
Delay "60000"

вообще не понял!
%)
Quote (anton68)
FileRead "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileRead "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Quote (anton68)
FileWrite "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileWrite "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Постоянные чтения и запись в файл/из файла....
Гм...

Автор - Peter
Дата добавления - 10 Марта 2011 в 18:12
GorezcaidДата: Чт, 10 Марта 2011, 18:17 | Сообщение # 4
Ветеран форума
anton68, ваш проект еще не доработан,здесь другой способ нужен
Quote (Peter)
Есть одна (пока) нестыковка:

тоже заметил :D ,неверный пересчет


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
 
Сообщениеanton68, ваш проект еще не доработан,здесь другой способ нужен
Quote (Peter)
Есть одна (пока) нестыковка:

тоже заметил :D ,неверный пересчет

Автор - Gorezcaid
Дата добавления - 10 Марта 2011 в 18:17
anton68Дата: Чт, 10 Марта 2011, 18:38 | Сообщение # 5
Любопытный
Спасибо за указание проблемм Peter,

Quote

Вот это место:
Quote
Цитата от (anton68)
.Если данный файлы не пустые запускаем цикл отсчета времени
While "[time_igra]" "<>" ":"

вызывает, мягко говоря, сомнения.


Это просто проверка на существования значений в файле.

Quote
Вот здесь:
Quote
Цитата от (anton68)
If "[time_m]" ">" "60"

Тут согласен недосмотрел.

Quote
Вот это:
Quote
Цитата от (anton68)
.Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения
Delay "60000"

Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.

Quote
Quote
Цитата от (anton68)
FileRead "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileRead "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Quote
Цитата от (anton68)
FileWrite "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileWrite "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Постоянные чтения и запись в файл/из файла....
Гм...

Постоянная только запись, чтение разовое при запуски программы....
Ну а тут смысл в том, что после закрытия проекта и запуска его вновь время оставалось то же что и в момент последнего выхода из программы. Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.

Поэтому я приманил тут задержку, иначе не знаю просто как сделать из расчета допустим системного времени, мне то надо чтобы время в программе шло быстрее вне зависимости что написано на часах в трее.. :) Я тему потому и назвал на форуме "Рeализация своего времени в проекте NeoBook"

А как еще можно сделать подобный таймер времени без задержки и таймера?

Сообщение отредактировано
anton68 - Чт, 10 Марта 2011, 18:46
 
СообщениеСпасибо за указание проблемм Peter,

Quote

Вот это место:
Quote
Цитата от (anton68)
.Если данный файлы не пустые запускаем цикл отсчета времени
While "[time_igra]" "<>" ":"

вызывает, мягко говоря, сомнения.


Это просто проверка на существования значений в файле.

Quote
Вот здесь:
Quote
Цитата от (anton68)
If "[time_m]" ">" "60"

Тут согласен недосмотрел.

Quote
Вот это:
Quote
Цитата от (anton68)
.Выставляем задержку перед выполннеием дальнейшего, за счет чего формируем соотношение реального времени и времени приложения
Delay "60000"

Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.

Quote
Quote
Цитата от (anton68)
FileRead "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileRead "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Quote
Цитата от (anton68)
FileWrite "[PubDir]Date\conservation\conservation.ini" "2" "[time_ch]"
FileWrite "[PubDir]Date\conservation\conservation.ini" "3" "[time_m]"

Постоянные чтения и запись в файл/из файла....
Гм...

Постоянная только запись, чтение разовое при запуски программы....
Ну а тут смысл в том, что после закрытия проекта и запуска его вновь время оставалось то же что и в момент последнего выхода из программы. Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.

Поэтому я приманил тут задержку, иначе не знаю просто как сделать из расчета допустим системного времени, мне то надо чтобы время в программе шло быстрее вне зависимости что написано на часах в трее.. :) Я тему потому и назвал на форуме "Рeализация своего времени в проекте NeoBook"

А как еще можно сделать подобный таймер времени без задержки и таймера?


Автор - anton68
Дата добавления - 10 Марта 2011 в 18:38
mishemДата: Чт, 10 Марта 2011, 18:46 | Сообщение # 6
Эксперт форума
Quote (anton68)
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.

FileWrite "Имя файла" "All" "Имя переменной=[Переменная]|Имя переменной=[Переменная]|и т.д."
Записываешь таким образом те переменные которые тебе нужны.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Чт, 10 Марта 2011, 18:47
 
Сообщение
Quote (anton68)
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые.

FileWrite "Имя файла" "All" "Имя переменной=[Переменная]|Имя переменной=[Переменная]|и т.д."
Записываешь таким образом те переменные которые тебе нужны.

Автор - mishem
Дата добавления - 10 Марта 2011 в 18:46
anton68Дата: Чт, 10 Марта 2011, 18:48 | Сообщение # 7
Любопытный
mishem, Спасибо так и сделаю.... надо мене лучше курить маны...
 
Сообщениеmishem, Спасибо так и сделаю.... надо мене лучше курить маны...

Автор - anton68
Дата добавления - 10 Марта 2011 в 18:48
PeterДата: Чт, 10 Марта 2011, 18:53 | Сообщение # 8
Админ NeoBook
Quote (anton68)
Это просто проверка на существования значений в файле.

Гм...
Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК.
И потом:
Code
While "[time_igra]" "<>" ":"

Предствьте, что "хитрый юзверь" часы удалил, а минуты оставил...
:)

Quote (anton68)
Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.

Без более подробного описания смысла, "оценить" это все-равно сложно.
Quote (anton68)
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые

Вы можете написать свою собственную функцию по сохранению только необходимых переменных.
К тому же, запись в файл экономичнее делать "одним махом" (весь файл сразу), а не построчно.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (anton68)
Это просто проверка на существования значений в файле.

Гм...
Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК.
И потом:
Code
While "[time_igra]" "<>" ":"

Предствьте, что "хитрый юзверь" часы удалил, а минуты оставил...
:)

Quote (anton68)
Это и есть задержка 60 сек. За счет чего если в реальной жизни прошла 1 минута то в программе уже 5. (Ну для моего проекта игры так будит удобно) так как мне необходимо менять элементы в зависимости от времени суток. Причем время суток в нем должно происходить быстрее чем в реальности.

Без более подробного описания смысла, "оценить" это все-равно сложно.
Quote (anton68)
Через команду сохранить переменные я не захотел делать, так как она сохраняет все переменные, а мне нужны лишь некоторые

Вы можете написать свою собственную функцию по сохранению только необходимых переменных.
К тому же, запись в файл экономичнее делать "одним махом" (весь файл сразу), а не построчно.

Автор - Peter
Дата добавления - 10 Марта 2011 в 18:53
anton68Дата: Чт, 10 Марта 2011, 19:13 | Сообщение # 9
Любопытный
Quote
Гм...
Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК.
И потом:

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
 
Сообщение
Quote
Гм...
Эта "проверка" осуществляется у вас всего один раз при "формировании времени из файла", а дальше все прыгает вокруг того, что творится в памяти, а там (согласно вашего же скрипта) все будет ОК.
И потом:

Code
While "[time_igra]" "<>" ":"

Предствьте, что "хитрый юзверь" часы удалил, а минуты оставил...

Да... хитрый однако юзер.... ну тогда вместо команды

Code
While "[time_igra]" "<>" ":"

надо написать
Code
WhileEx "[time_ch]>-1 and [time_m]>-1"

Quote
Без более подробного описания смысла, "оценить" это все-равно сложно.

Вы правы, для более явного осмысления для чего служит данный счетчик, я выложу скомпилированный вариант моего проекта, но это чуть позже... пока там лишь разрозненный набор функций которые надо между собой связать и т.д.

Quote
Вы можете написать свою собственную функцию по сохранению только необходимых переменных.
К тому же, запись в файл экономичнее делать "одним махом" (весь файл сразу), а не построчно.

В моем родном проекте все переменные которые мне нужны и записываются одним махом, при закрытии проекта, здесь вывел это просто в код, так как это маленький кусок от моего проекта... Просто хотел показать как я считаю время, и чтобы мне сказал что я сделал не так. За что всем и в отдельности Peterу, огромное спасибо...


Автор - anton68
Дата добавления - 10 Марта 2011 в 19:13
ФаридДата: Пт, 11 Марта 2011, 17:46 | Сообщение # 10
Ветеран форума


Дата регистрации: Вс, 30 Мая 2010, 21:05
Этож было вчера
 
Сообщение

Автор - Фарид
Дата добавления - 11 Марта 2011 в 17:46
Форум NeoBook » Всё о программе NeoBook » Проекты NeoBook » Рeализация своего времени в проекте NeoBook
  • Страница 1 из 1
  • 1
Поиск: