Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 41234»
Модератор форума: Peter, DEMBEL 
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » faDateTime (Несколько функций даты и времени)
faDateTime
frolandrДата: Пт, 14 Марта 2014, 18:20 | Сообщение # 1
Любопытный
По совету Вадима создал отдельную тему. Правда не знаю стоит ли этот плагин такого внимания. Исправил некоторые ошибки, в частности удалось избавиться от одной строки, которая вроде бы и не нужна была, но без нее плагин отказывался работать. Тестируйте. Вадим, попробую добавить функцию о которой вы пишите.

В этом сообщении будет находится последняя версия плагина.
Прикрепления: test.zip(39Kb)


Сообщение отредактировано
frolandr - Вс, 16 Марта 2014, 04:00
 
СообщениеПо совету Вадима создал отдельную тему. Правда не знаю стоит ли этот плагин такого внимания. Исправил некоторые ошибки, в частности удалось избавиться от одной строки, которая вроде бы и не нужна была, но без нее плагин отказывался работать. Тестируйте. Вадим, попробую добавить функцию о которой вы пишите.

В этом сообщении будет находится последняя версия плагина.

Автор - frolandr
Дата добавления - 14 Марта 2014 в 18:20
frolandrДата: Пт, 14 Марта 2014, 22:58 | Сообщение # 2
Любопытный
Добавил функцию получения форматированной разницы между датами. Плагин и демку прилагаю.

Сообщение отредактировано
frolandr - Сб, 15 Марта 2014, 02:24
 
СообщениеДобавил функцию получения форматированной разницы между датами. Плагин и демку прилагаю.

Автор - frolandr
Дата добавления - 14 Марта 2014 в 22:58
PeterДата: Сб, 15 Марта 2014, 01:49 | Сообщение # 3
Админ NeoBook
Цитата frolandr ()
Плагин и демку прилагаю

frolandr, для начала неплохо, только вот не помешает сделать в плагине проверку входных данных на соответствие типам, плюс разобраться с сообщением "Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта, даже если плагин не используется.
;)

Кстати:

Цитата frolandr ()
удалось избавиться от одной строки, которая вроде бы и не нужна была

в чем была проблема?


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата frolandr ()
Плагин и демку прилагаю

frolandr, для начала неплохо, только вот не помешает сделать в плагине проверку входных данных на соответствие типам, плюс разобраться с сообщением "Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта, даже если плагин не используется.
;)

Кстати:

Цитата frolandr ()
удалось избавиться от одной строки, которая вроде бы и не нужна была

в чем была проблема?

Автор - Peter
Дата добавления - 15 Марта 2014 в 01:49
frolandrДата: Сб, 15 Марта 2014, 02:19 | Сообщение # 4
Любопытный
Цитата Peter ()
не помешает сделать в плагине проверку входных данных на соответствие типам

В ближайщее время сделаю
Цитата Peter ()
разобраться с сообщением "Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта

Странно у меня с этим все нормально, если не включать функции плагина в проект, то это сообщение не появляется.
Цитата Peter ()
в чем была проблема?

Вместо объявления массива я сделал указатель на char
 
Сообщение
Цитата Peter ()
не помешает сделать в плагине проверку входных данных на соответствие типам

В ближайщее время сделаю
Цитата Peter ()
разобраться с сообщением "Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта

Странно у меня с этим все нормально, если не включать функции плагина в проект, то это сообщение не появляется.
Цитата Peter ()
в чем была проблема?

Вместо объявления массива я сделал указатель на char

Автор - frolandr
Дата добавления - 15 Марта 2014 в 02:19
PeterДата: Сб, 15 Марта 2014, 02:38 | Сообщение # 5
Админ NeoBook
Цитата frolandr ()
если не включать функции плагина в проект, то это сообщение не появляется.

Вот абсолютно чистый проект без единой команды (просто окошко):


Цитата frolandr ()
Вместо объявления массива я сделал указатель на char

Понял.

Добавлено (15 Марта 2014, 02:38)
---------------------------------------------
frolandr, ещё имейтке ввиду, что в режиме проектирования (даже когда запускается тестирование проекта) NB и плагин обладают "общей памятью", и если даже запускается проект, где команды плагина не используются, плагин все-равно будет реагировать на сообщения, поступающие из тестируемого проекта.

Прикрепления: 3476446.png(12Kb)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата frolandr ()
если не включать функции плагина в проект, то это сообщение не появляется.

Вот абсолютно чистый проект без единой команды (просто окошко):


Цитата frolandr ()
Вместо объявления массива я сделал указатель на char

Понял.

Добавлено (15 Марта 2014, 02:38)
---------------------------------------------
frolandr, ещё имейтке ввиду, что в режиме проектирования (даже когда запускается тестирование проекта) NB и плагин обладают "общей памятью", и если даже запускается проект, где команды плагина не используются, плагин все-равно будет реагировать на сообщения, поступающие из тестируемого проекта.


Автор - Peter
Дата добавления - 15 Марта 2014 в 02:38
ВадимДата: Сб, 15 Марта 2014, 17:36 | Сообщение # 6
Генератор идей
Цитата frolandr ()
не знаю стоит ли этот плагин такого внимания
Андрей, мы же здесь для творчества собираемся, поэтому однозначно оно того стоит!

Единственное, что я знаю про плагины - это то, что их совсем непросто качественно сделать.
И если у вас хватит терпения довести задумку до определенного завершения, то это будет просто замечательно! Тестированием поможем!

Цитата frolandr ()
Добавил функцию получения форматированной разницы между датами.
Отлично! thumbs_up

Сразу появились вопросы/предложения:

- можно ли количество лет, месяцев, дней, часов, минут, секунд получать в отдельные переменные? Чтобы можно их было использовать на свое усмотрение.

- если число однозначное, то можно ли его автоматически превращать в двузначное (например не 1, а 01)? Чтобы можно было потом автоматическую сортировку применять, в базе данных, к примеру.

Добавлено (15 Марта 2014, 17:36)
---------------------------------------------

Цитата Peter ()
"Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта
Да, у меня также.
Прикрепления: 4861005.png(36Kb) · 2240761.png(37Kb)


С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров
 
Сообщение
Цитата frolandr ()
не знаю стоит ли этот плагин такого внимания
Андрей, мы же здесь для творчества собираемся, поэтому однозначно оно того стоит!

Единственное, что я знаю про плагины - это то, что их совсем непросто качественно сделать.
И если у вас хватит терпения довести задумку до определенного завершения, то это будет просто замечательно! Тестированием поможем!

Цитата frolandr ()
Добавил функцию получения форматированной разницы между датами.
Отлично! thumbs_up

Сразу появились вопросы/предложения:

- можно ли количество лет, месяцев, дней, часов, минут, секунд получать в отдельные переменные? Чтобы можно их было использовать на свое усмотрение.

- если число однозначное, то можно ли его автоматически превращать в двузначное (например не 1, а 01)? Чтобы можно было потом автоматическую сортировку применять, в базе данных, к примеру.

Добавлено (15 Марта 2014, 17:36)
---------------------------------------------

Цитата Peter ()
"Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта
Да, у меня также.

Автор - Вадим
Дата добавления - 15 Марта 2014 в 17:36
frolandrДата: Вс, 16 Марта 2014, 04:07 | Сообщение # 7
Любопытный
Цитата Вадим ()
Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта

Я сначала понял, что это сообщение появляется в скомпилированном проекте, так как в скомпилированном мной проекте этого сообщение у меня не появилось. Только позже я понял, что это сообщение появляется не при компиляции, а при тестировании в отладчике. Это сообщение убрал. Но плагин на сайте пока не обновил, так как делаю еще некоторые изменения.

Вадим, спасибо за тестирование. Результат - 1 появляется в том случае, если происходит какое то переполнение или ошибка. Дело в том, что время в Unix отсчитывается с 1 января 1970 года 0:00 часов ночи по Гринвичу и закончится 19 января 2038 года также около 0:00 часов ночи. В связи с этим количество секунд раное 0 покажет дату: 1 января 1970, оно не как не может быть меньше 0, так как время не может быть отрицательное. На первом скане у вас слишком большое кол. секунд, по этому функция выдала сообщение -1, т.е. переполнение.

В ближайщее время сделаю еще проверку введенных данных.

Можно конечно выводить год, месяц и т.д в отдельные переменные, хотя можно этого добиться с помощью функции NeoBook - StrParse. Если удобнее как вы пишите, могу сделать и такое.

Добавлено (16 Марта 2014, 04:07)
---------------------------------------------
Сделал в плагине проверку входных данных. В функции "Получить разницу между двумя датами" сделал на выходе ряд дополнительных переменных для отдельного хранения количества: лет, месяцев, дней и т.д. В этой же функции в на выходе в основной переменной сделал дополнение ведущими нулями, если цифра меньше 10.

Сообщение отредактировано
frolandr - Сб, 15 Марта 2014, 23:44
 
Сообщение
Цитата Вадим ()
Тестовая версия плагина", т.к. сейчас оно появляется каждый раз при закрытии любого проекта

Я сначала понял, что это сообщение появляется в скомпилированном проекте, так как в скомпилированном мной проекте этого сообщение у меня не появилось. Только позже я понял, что это сообщение появляется не при компиляции, а при тестировании в отладчике. Это сообщение убрал. Но плагин на сайте пока не обновил, так как делаю еще некоторые изменения.

Вадим, спасибо за тестирование. Результат - 1 появляется в том случае, если происходит какое то переполнение или ошибка. Дело в том, что время в Unix отсчитывается с 1 января 1970 года 0:00 часов ночи по Гринвичу и закончится 19 января 2038 года также около 0:00 часов ночи. В связи с этим количество секунд раное 0 покажет дату: 1 января 1970, оно не как не может быть меньше 0, так как время не может быть отрицательное. На первом скане у вас слишком большое кол. секунд, по этому функция выдала сообщение -1, т.е. переполнение.

В ближайщее время сделаю еще проверку введенных данных.

Можно конечно выводить год, месяц и т.д в отдельные переменные, хотя можно этого добиться с помощью функции NeoBook - StrParse. Если удобнее как вы пишите, могу сделать и такое.

Добавлено (16 Марта 2014, 04:07)
---------------------------------------------
Сделал в плагине проверку входных данных. В функции "Получить разницу между двумя датами" сделал на выходе ряд дополнительных переменных для отдельного хранения количества: лет, месяцев, дней и т.д. В этой же функции в на выходе в основной переменной сделал дополнение ведущими нулями, если цифра меньше 10.


Автор - frolandr
Дата добавления - 16 Марта 2014 в 04:07
mishemДата: Вс, 16 Марта 2014, 10:37 | Сообщение # 8
Эксперт форума
Похвально. Продолжай в том же духе. Только в отличие от Вадима я не вижу смысла в этом плагине.
Все это можно сделать самой НБ.

Для обучения конечно пойдет, но я б лично лучше потратил время на что то более полезное.

Если не знаешь что нужно, спрашивай. :) Тут таааакой список будет, до конца дней хватит. :D

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

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

Для обучения самое оно, и пользоваться все будут точно. ;)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПохвально. Продолжай в том же духе. Только в отличие от Вадима я не вижу смысла в этом плагине.
Все это можно сделать самой НБ.

Для обучения конечно пойдет, но я б лично лучше потратил время на что то более полезное.

Если не знаешь что нужно, спрашивай. :) Тут таааакой список будет, до конца дней хватит. :D

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

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

Для обучения самое оно, и пользоваться все будут точно. ;)

Автор - mishem
Дата добавления - 16 Марта 2014 в 10:37
ВадимДата: Вс, 16 Марта 2014, 15:50 | Сообщение # 9
Генератор идей
Цитата frolandr ()
Сделал в плагине проверку входных данных. В функции "Получить разницу между двумя датами" сделал на выходе ряд дополнительных переменных для отдельного хранения количества: лет, месяцев, дней и т.д. В этой же функции в на выходе в основной переменной сделал дополнение ведущими нулями, если цифра меньше 10.
Классно!! thumbs_up

Цитата mishem ()
я не вижу смысла в этом плагине
Я очень даже вижу смысл в этом плагине, поскольку решение задачи получения форматированного результата вычитания одного времени из другого средствами NeoBook требует рекурсивного алгоритма (по крайней мере я так выкрутился в проекте Chronometer) и учета округления при делении (а с этим я просто не стал заморачиваться). И это далеко не самый удобный и быстрый способ как для работы кода, так и для его написания, тем более новичками. Например, округлять ли полученное при делении значение или нет? А если операций деления много, и округляемый остаток накапливается? Совсем даже непросто средствами NeoBook корректно посчитать разницу между двумя значениями времени в секундах, если результат нужен не в секундах, а в годах, днях, часах и т.д.
А тут одна команда и, пожалуйста, используй далее результат как пожелаешь. Такие плагины позволяют NeoBook быть средой быстрой разработки приложений, а это очень важно.
Так что, не соглашусь, очень даже полезная команда и плагин!

Цитата mishem ()
Тут таааакой список будет, до конца дней хватит.
Отличная, кстати, идея! Можно в этом разделе сделать тему "Идеи для плагинотворчества" или еще как назвать, и туда записывать востребованные идеи. Как показывает практика, может быть полезной такая тема!


С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров


Сообщение отредактировано
Вадим - Вс, 16 Марта 2014, 15:52
 
Сообщение
Цитата frolandr ()
Сделал в плагине проверку входных данных. В функции "Получить разницу между двумя датами" сделал на выходе ряд дополнительных переменных для отдельного хранения количества: лет, месяцев, дней и т.д. В этой же функции в на выходе в основной переменной сделал дополнение ведущими нулями, если цифра меньше 10.
Классно!! thumbs_up

Цитата mishem ()
я не вижу смысла в этом плагине
Я очень даже вижу смысл в этом плагине, поскольку решение задачи получения форматированного результата вычитания одного времени из другого средствами NeoBook требует рекурсивного алгоритма (по крайней мере я так выкрутился в проекте Chronometer) и учета округления при делении (а с этим я просто не стал заморачиваться). И это далеко не самый удобный и быстрый способ как для работы кода, так и для его написания, тем более новичками. Например, округлять ли полученное при делении значение или нет? А если операций деления много, и округляемый остаток накапливается? Совсем даже непросто средствами NeoBook корректно посчитать разницу между двумя значениями времени в секундах, если результат нужен не в секундах, а в годах, днях, часах и т.д.
А тут одна команда и, пожалуйста, используй далее результат как пожелаешь. Такие плагины позволяют NeoBook быть средой быстрой разработки приложений, а это очень важно.
Так что, не соглашусь, очень даже полезная команда и плагин!

Цитата mishem ()
Тут таааакой список будет, до конца дней хватит.
Отличная, кстати, идея! Можно в этом разделе сделать тему "Идеи для плагинотворчества" или еще как назвать, и туда записывать востребованные идеи. Как показывает практика, может быть полезной такая тема!

Автор - Вадим
Дата добавления - 16 Марта 2014 в 15:50
PeterДата: Вс, 16 Марта 2014, 17:54 | Сообщение # 10
Админ NeoBook
Цитата Вадим ()
очень даже полезная команда

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

Я тоже не представляю как и где мне могла бы пригодиться подобная функция, к тому же думаю, что эта задача вполне по силам и самой NB без плагинов (тут, правда, надо пробовать).
У NB не такой уж и слабый математический аппарат (как и общие возможности), чтобы по каждому случаю прибегать к плагинам.
Плагинами нужно пользоваться только тогда, когда без них просто никак, или явно крайне неэффективно, а действовать по принципу "лень мне писАть код в самой NB, дайте плагин", мягко говоря, нескромность.

Добавлено (16 Марта 2014, 17:19)
---------------------------------------------
Цитата Вадим ()
Идеи для плагинотворчества

Вадим, я открою тебе одну тайну: пока у плагинотворителя не будет личной заинтересованности (востребованности) в плагине, толкового плагина не будет!
В лучшем случае - отмазка.
Голый энтузиазм очень быстро иссякает.
И питать иллюзии на эту тему наивно, уж поверь мне.
;)



Цитата Вадим ()
Совсем даже непросто средствами NeoBook корректно посчитать разницу между двумя значениями времени в секундах

И что здесь сложного?
Любые расчеты нужно делать "в едином диапазоне", т.е. сначала перевести входные данные в секунды, провести нужные расчеты, а потом вывести результат в нужном формате.
Нужно только определиться с "точкой отсчета" (относительно чего считать), а дальше - голая арифметика

Цитата mishem ()
Сделать отдельный маленький плагин конвертирование цвета в разные форматы

mishem, кстати, плагин по конвертированию формата цвета совсем несложный, и ты запросто сможешь сделать его сам (для своих нужд).
Между прочим, это будет неплохим поводом (а также практикой) для начала плагинотворения.
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата Вадим ()
очень даже полезная команда

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

Я тоже не представляю как и где мне могла бы пригодиться подобная функция, к тому же думаю, что эта задача вполне по силам и самой NB без плагинов (тут, правда, надо пробовать).
У NB не такой уж и слабый математический аппарат (как и общие возможности), чтобы по каждому случаю прибегать к плагинам.
Плагинами нужно пользоваться только тогда, когда без них просто никак, или явно крайне неэффективно, а действовать по принципу "лень мне писАть код в самой NB, дайте плагин", мягко говоря, нескромность.

Добавлено (16 Марта 2014, 17:19)
---------------------------------------------
Цитата Вадим ()
Идеи для плагинотворчества

Вадим, я открою тебе одну тайну: пока у плагинотворителя не будет личной заинтересованности (востребованности) в плагине, толкового плагина не будет!
В лучшем случае - отмазка.
Голый энтузиазм очень быстро иссякает.
И питать иллюзии на эту тему наивно, уж поверь мне.
;)



Цитата Вадим ()
Совсем даже непросто средствами NeoBook корректно посчитать разницу между двумя значениями времени в секундах

И что здесь сложного?
Любые расчеты нужно делать "в едином диапазоне", т.е. сначала перевести входные данные в секунды, провести нужные расчеты, а потом вывести результат в нужном формате.
Нужно только определиться с "точкой отсчета" (относительно чего считать), а дальше - голая арифметика

Цитата mishem ()
Сделать отдельный маленький плагин конвертирование цвета в разные форматы

mishem, кстати, плагин по конвертированию формата цвета совсем несложный, и ты запросто сможешь сделать его сам (для своих нужд).
Между прочим, это будет неплохим поводом (а также практикой) для начала плагинотворения.
;)

Автор - Peter
Дата добавления - 16 Марта 2014 в 17:54
frolandrДата: Вс, 16 Марта 2014, 18:06 | Сообщение # 11
Любопытный
Цитата Peter ()
Вадим, я открою тебе одну тайну: пока у плагинотворителя не будет личной заинтересованности (востребованности) в плагине, толкового плагина не будет!

:) В плагине действительно была личная заинтересованность, нужно было получить кол. секунд с 1970 года. Можно было это сделать и в НБ, но ввиду високосных годов, разного кол. дней в месяце это не просто, а нужен был именно эквивалент с PHP. Если не учитывать все вышеперечисленные проблемы, то результат на сервере и в сделанный в НБ мог различаться. Другое дело, что можно было получать это время прямо на сервере функциями PHP, но сервер не мой, просить постоянно доступ не удобно.

Цитата mishem ()
Сделать отдельный маленький плагин конвертирование цвета в разные форматы, во все какие найдешь в интернете. Опыт показывает что рано или поздно сталкиваешься почти со всеми форматами. И туда же можно конвертор строк, только не хеши вычислять, а именно конвертер в разные кодировки. Ну здесь уже на усмотрение, можно только основные, а можешь тоже все подряд что найдешь.

Думаю можно такое сделать.
 
Сообщение
Цитата Peter ()
Вадим, я открою тебе одну тайну: пока у плагинотворителя не будет личной заинтересованности (востребованности) в плагине, толкового плагина не будет!

:) В плагине действительно была личная заинтересованность, нужно было получить кол. секунд с 1970 года. Можно было это сделать и в НБ, но ввиду високосных годов, разного кол. дней в месяце это не просто, а нужен был именно эквивалент с PHP. Если не учитывать все вышеперечисленные проблемы, то результат на сервере и в сделанный в НБ мог различаться. Другое дело, что можно было получать это время прямо на сервере функциями PHP, но сервер не мой, просить постоянно доступ не удобно.

Цитата mishem ()
Сделать отдельный маленький плагин конвертирование цвета в разные форматы, во все какие найдешь в интернете. Опыт показывает что рано или поздно сталкиваешься почти со всеми форматами. И туда же можно конвертор строк, только не хеши вычислять, а именно конвертер в разные кодировки. Ну здесь уже на усмотрение, можно только основные, а можешь тоже все подряд что найдешь.

Думаю можно такое сделать.

Автор - frolandr
Дата добавления - 16 Марта 2014 в 18:06
mishemДата: Вс, 16 Марта 2014, 19:43 | Сообщение # 12
Эксперт форума
Цитата frolandr ()
нужно было получить кол. секунд с 1970 года.

Не знаю чем не устраивало

Код

DateToNum "01.01.1970" "d/m/y" "[1970]"
DateToNum "16.03.2014" "d/m/y" "[2014]"
Math "([2014]-[1970])*86400+[Hour]*3600+[Minute]*60+[Second]" "0" "[Result]"


Кстати разница часа в три. Так что еще надо подумать где правильно, а где нет. ;)

Цитата frolandr ()
но ввиду високосных годов, разного кол. дней в месяце это не просто,

Отчего же? НБ это все учитывает. Там скорей всего та же функция что и у тебя в плагине только без умножения на секунды. Получаем количество дней. А умножить их на секунды, это дело техники. По времени, у меня затрачивается примерно одинаковое время вычисления, что плагином, что нб.

Вот об этом я и говорю. Когда разница в несколько наносекунд, смысл в плагине? Только то что одна команда?


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата frolandr ()
нужно было получить кол. секунд с 1970 года.

Не знаю чем не устраивало

Код

DateToNum "01.01.1970" "d/m/y" "[1970]"
DateToNum "16.03.2014" "d/m/y" "[2014]"
Math "([2014]-[1970])*86400+[Hour]*3600+[Minute]*60+[Second]" "0" "[Result]"


Кстати разница часа в три. Так что еще надо подумать где правильно, а где нет. ;)

Цитата frolandr ()
но ввиду високосных годов, разного кол. дней в месяце это не просто,

Отчего же? НБ это все учитывает. Там скорей всего та же функция что и у тебя в плагине только без умножения на секунды. Получаем количество дней. А умножить их на секунды, это дело техники. По времени, у меня затрачивается примерно одинаковое время вычисления, что плагином, что нб.

Вот об этом я и говорю. Когда разница в несколько наносекунд, смысл в плагине? Только то что одна команда?

Автор - mishem
Дата добавления - 16 Марта 2014 в 19:43
frolandrДата: Вс, 16 Марта 2014, 21:32 | Сообщение # 13
Любопытный
Цитата mishem ()
DateToNum "01.01.1970" "d/m/y" "[1970]"


К своему стыду не знал как работают две эти функции redface Какое то время назад пытался посмотреть их работу и справка была под рукой, но толи время не было, толи что-то пошло не так.
 
Сообщение
Цитата mishem ()
DateToNum "01.01.1970" "d/m/y" "[1970]"


К своему стыду не знал как работают две эти функции redface Какое то время назад пытался посмотреть их работу и справка была под рукой, но толи время не было, толи что-то пошло не так.

Автор - frolandr
Дата добавления - 16 Марта 2014 в 21:32
mishemДата: Вс, 16 Марта 2014, 22:12 | Сообщение # 14
Эксперт форума
Цитата frolandr ()
К своему стыду

Нет тут никакого стыда. Всего знать не возможно. Я по сейчас что то новое узнаю. :)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата frolandr ()
К своему стыду

Нет тут никакого стыда. Всего знать не возможно. Я по сейчас что то новое узнаю. :)

Автор - mishem
Дата добавления - 16 Марта 2014 в 22:12
ВадимДата: Пн, 17 Марта 2014, 07:14 | Сообщение # 15
Генератор идей
Цитата Peter ()
Я тоже не представляю как и где мне могла бы пригодиться подобная функция
Может я что-то не догоняю... Условие: Есть две отсечки по времени. Искомый результат: нужно получить разницу, но не в секундах, а в форматированном, удобном и понятном человеку виде. Я сделал это средствами NeoBook в проекте Chronometer. Но, с учетом округлений при делении, я не уверен, что код всегда срабатывает корректно.
Вот немного сокращенный код:
.Перевод разницы в секундах в разницу в годах, днях, часах, минутах, секундах

:chos
If "[Ostatok]" "<=" "59"
If "[Ostatok]" "<" "0"
SetVar "[ProshloSec]" "0"
Else
Math "[Ostatok]" "0" "[ProshloSec]"
EndIf
EndIf
IfEx "[Ostatok] > 59 AND [Ostatok] < 3600"
Math "[Ostatok]/60" "" "[ProshloMinut]"
Math "[Ostatok]-60*[ProshloMinut]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
IfEx "[Ostatok] > 3599 AND [Ostatok] < 86400"
Math "[Ostatok]/3600" "" "[ProshloChasov]"
Math "[Ostatok]-3600*[ProshloChasov]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
IfEx "[Ostatok] > 86399 AND [Ostatok] < 31536000"
Math "[Ostatok]/86400" "" "[ProshloDney]"
Math "[Ostatok]-86400*[ProshloDney]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
If "[Ostatok]" ">" "31535999"
Math "[RaznicaSec]/31536000" "" "[ProshloLet]"
Math "[RaznicaSec]-31536000*[ProshloLet]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
SetVar "[Proshlo]" "[ProshloLet]л [ProshloDney]д [ProshloChasov]ч [ProshloMinut]м [ProshloSec]с"
Return


Функция определения форматированной разницы может быть полезна прежде всего в программах учитывающих и анализирующих затраченное время:
--- прошедшее на компьютере (хронометры приложений, органайзеры, родительский контроль, таймеры, напоминалки, почтовые клиенты...)
--- прошедшее между произвольными отметками - дневник наблюдений (дачника, студента, орнитолога, энтомолога, врача, экспериментатора......... перечислять можно до бесконечности все роли, где может потребоваться определять прошедшее время между отсечками, в понятном человеку виде)
--- диагностические программы (в психологии, медицине, социологии, биологии и т.д.)
и т.д.


С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров
 
Сообщение
Цитата Peter ()
Я тоже не представляю как и где мне могла бы пригодиться подобная функция
Может я что-то не догоняю... Условие: Есть две отсечки по времени. Искомый результат: нужно получить разницу, но не в секундах, а в форматированном, удобном и понятном человеку виде. Я сделал это средствами NeoBook в проекте Chronometer. Но, с учетом округлений при делении, я не уверен, что код всегда срабатывает корректно.
Вот немного сокращенный код:
.Перевод разницы в секундах в разницу в годах, днях, часах, минутах, секундах

:chos
If "[Ostatok]" "<=" "59"
If "[Ostatok]" "<" "0"
SetVar "[ProshloSec]" "0"
Else
Math "[Ostatok]" "0" "[ProshloSec]"
EndIf
EndIf
IfEx "[Ostatok] > 59 AND [Ostatok] < 3600"
Math "[Ostatok]/60" "" "[ProshloMinut]"
Math "[Ostatok]-60*[ProshloMinut]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
IfEx "[Ostatok] > 3599 AND [Ostatok] < 86400"
Math "[Ostatok]/3600" "" "[ProshloChasov]"
Math "[Ostatok]-3600*[ProshloChasov]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
IfEx "[Ostatok] > 86399 AND [Ostatok] < 31536000"
Math "[Ostatok]/86400" "" "[ProshloDney]"
Math "[Ostatok]-86400*[ProshloDney]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
If "[Ostatok]" ">" "31535999"
Math "[RaznicaSec]/31536000" "" "[ProshloLet]"
Math "[RaznicaSec]-31536000*[ProshloLet]" "-1" "[Ostatok]"
GotoLine "chos"
EndIf
SetVar "[Proshlo]" "[ProshloLet]л [ProshloDney]д [ProshloChasov]ч [ProshloMinut]м [ProshloSec]с"
Return


Функция определения форматированной разницы может быть полезна прежде всего в программах учитывающих и анализирующих затраченное время:
--- прошедшее на компьютере (хронометры приложений, органайзеры, родительский контроль, таймеры, напоминалки, почтовые клиенты...)
--- прошедшее между произвольными отметками - дневник наблюдений (дачника, студента, орнитолога, энтомолога, врача, экспериментатора......... перечислять можно до бесконечности все роли, где может потребоваться определять прошедшее время между отсечками, в понятном человеку виде)
--- диагностические программы (в психологии, медицине, социологии, биологии и т.д.)
и т.д.

Автор - Вадим
Дата добавления - 17 Марта 2014 в 07:14
mishemДата: Пн, 17 Марта 2014, 10:19 | Сообщение # 16
Эксперт форума
Давай начнем от обратного.
Секунды у тебя откуда берутся?

Дело в том, что исходя из секунд, не возможно определить сколько високосных годов было в промежутке.
Отсюда исчисление может быть исходя только из того, что в году 365 дней.

Соответственно, чем больше промежуток, тем больше будет разница.

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


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеДавай начнем от обратного.
Секунды у тебя откуда берутся?

Дело в том, что исходя из секунд, не возможно определить сколько високосных годов было в промежутке.
Отсюда исчисление может быть исходя только из того, что в году 365 дней.

Соответственно, чем больше промежуток, тем больше будет разница.

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

Автор - mishem
Дата добавления - 17 Марта 2014 в 10:19
PeterДата: Пн, 17 Марта 2014, 10:59 | Сообщение # 17
Админ NeoBook
Цитата mishem ()
Дело в том, что исходя из секунд,

Тут все заключается в том, что требуется получить. Если разницу между датами в днях, часах, минутах, то без разницы есть высокосные года или нет (т.к. это всего лишь система измерения, абсолютный промежуток будет неизменен), если же с учетом лет (именно лет), то тут надо подумать.
А если ещё и учитывать переход на зимнее/летнее время....
;)

Все упирается в алгоритм подсчета, а не в матаматику, с которой NB прекрасно справится.


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Дело в том, что исходя из секунд,

Тут все заключается в том, что требуется получить. Если разницу между датами в днях, часах, минутах, то без разницы есть высокосные года или нет (т.к. это всего лишь система измерения, абсолютный промежуток будет неизменен), если же с учетом лет (именно лет), то тут надо подумать.
А если ещё и учитывать переход на зимнее/летнее время....
;)

Все упирается в алгоритм подсчета, а не в матаматику, с которой NB прекрасно справится.

Автор - Peter
Дата добавления - 17 Марта 2014 в 10:59
mishemДата: Пн, 17 Марта 2014, 11:05 | Сообщение # 18
Эксперт форума
А так, если исходить из того что в году 365 дней.
В месяце в среднем 30 дней.
То выше написанная тобой порнография :) должна выглядеть примерно так.

Код

.Лет
Math "Trunc([Ostatok]/31536000)" "0" "[L]"

.Месяцев
Math "Trunc(([Ostatok]-[L]*31536000)/2592000)" "0" "[M]"

.Дней
Math "Trunc((([Ostatok]-[L]*31536000)-[M]*2592000)/86400)" "0" "[D]"

.Часов
Math "Trunc(((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)/3600)" "0" "[Ch]"

.Минут
Math "Trunc((((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)-[Ch]*3600)/60)" "0" "[Min]"

.Секунд
Math "Trunc((((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)-[Ch]*3600)-[Min]*60)" "0" "[Sec]"


Если же мы знаем конкретные даты, то сначала всчитываем годы, месяцы, дни, а после уже часы, минуты и секунды.

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

Написанные мною формулы получают тоже самое что и плагин, в примере самый нижний вариант, за исключением дней. У меня на 10 дней больше. Судя по годам, 23, високосных дней столько не выходит. За счет чего разница, не вникал. Так что Вадим это на твоей совести. :)

Добавлено (17 Марта 2014, 11:05)
---------------------------------------------

Цитата Peter ()
если же с учетом лет (именно лет), то тут надо подумать.

Не только лет, месяцев тоже.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеА так, если исходить из того что в году 365 дней.
В месяце в среднем 30 дней.
То выше написанная тобой порнография :) должна выглядеть примерно так.

Код

.Лет
Math "Trunc([Ostatok]/31536000)" "0" "[L]"

.Месяцев
Math "Trunc(([Ostatok]-[L]*31536000)/2592000)" "0" "[M]"

.Дней
Math "Trunc((([Ostatok]-[L]*31536000)-[M]*2592000)/86400)" "0" "[D]"

.Часов
Math "Trunc(((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)/3600)" "0" "[Ch]"

.Минут
Math "Trunc((((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)-[Ch]*3600)/60)" "0" "[Min]"

.Секунд
Math "Trunc((((([Ostatok]-[L]*31536000)-[M]*2592000)-[D]*86400)-[Ch]*3600)-[Min]*60)" "0" "[Sec]"


Если же мы знаем конкретные даты, то сначала всчитываем годы, месяцы, дни, а после уже часы, минуты и секунды.

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

Написанные мною формулы получают тоже самое что и плагин, в примере самый нижний вариант, за исключением дней. У меня на 10 дней больше. Судя по годам, 23, високосных дней столько не выходит. За счет чего разница, не вникал. Так что Вадим это на твоей совести. :)

Добавлено (17 Марта 2014, 11:05)
---------------------------------------------

Цитата Peter ()
если же с учетом лет (именно лет), то тут надо подумать.

Не только лет, месяцев тоже.

Автор - mishem
Дата добавления - 17 Марта 2014 в 11:05
PeterДата: Пн, 17 Марта 2014, 11:11 | Сообщение # 19
Админ NeoBook
Цитата Вадим ()
Функция определения форматированной разницы может быть полезна прежде всего в программах учитывающих и анализирующих затраченное время

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


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата Вадим ()
Функция определения форматированной разницы может быть полезна прежде всего в программах учитывающих и анализирующих затраченное время

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

Автор - Peter
Дата добавления - 17 Марта 2014 в 11:11
mishemДата: Пн, 17 Марта 2014, 11:22 | Сообщение # 20
Эксперт форума
Чего многие не могут, или не хотят понять, это то что в плагинах совершенно идентичный код.
Единственная разница, это то что плагин выполняет его в разы быстрее.

Есть еще один упор на плагины, это то что для многих может быть затруднительно написание (понимание) того или иного кода. А НБ сделано имено для тех кто в программировании ничего не смыслит. А хочется всего и сразу.

Да, в этом случае плагины разные нужны, плагины разные важны. И вот здесь я эсперальту даже как то поддерживаю. :)

Не хочешь думать головой, плати тому кто этим занимается. :D

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


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЧего многие не могут, или не хотят понять, это то что в плагинах совершенно идентичный код.
Единственная разница, это то что плагин выполняет его в разы быстрее.

Есть еще один упор на плагины, это то что для многих может быть затруднительно написание (понимание) того или иного кода. А НБ сделано имено для тех кто в программировании ничего не смыслит. А хочется всего и сразу.

Да, в этом случае плагины разные нужны, плагины разные важны. И вот здесь я эсперальту даже как то поддерживаю. :)

Не хочешь думать головой, плати тому кто этим занимается. :D

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

Автор - mishem
Дата добавления - 17 Марта 2014 в 11:22
PeterДата: Пн, 17 Марта 2014, 11:34 | Сообщение # 21
Админ NeoBook
Цитата mishem ()
что в плагинах совершенно идентичный код

Как правило, да. По крайней мере в задачах аналогичной этой.

Цитата mishem ()
А хочется всего и сразу

Вот в том-то и дело, что NB "расслабляет", в то время, как её возможности очень часто не задействованы на 100%, т.к. пользователи привыкли к тому, что большинство "ходовых" моментов в NB "автоматизировано", и считает, что так должно быть всегда - одной командой бац и "в дамках"!



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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
что в плагинах совершенно идентичный код

Как правило, да. По крайней мере в задачах аналогичной этой.

Цитата mishem ()
А хочется всего и сразу

Вот в том-то и дело, что NB "расслабляет", в то время, как её возможности очень часто не задействованы на 100%, т.к. пользователи привыкли к тому, что большинство "ходовых" моментов в NB "автоматизировано", и считает, что так должно быть всегда - одной командой бац и "в дамках"!


Автор - Peter
Дата добавления - 17 Марта 2014 в 11:34
frolandrДата: Пн, 17 Марта 2014, 17:23 | Сообщение # 22
Любопытный
Цитата mishem ()
И туда же можно конвертор строк, только не хеши вычислять, а именно конвертер в разные кодировки. Ну здесь уже на усмотрение, можно только основные, а можешь тоже все подряд что найдешь.

Не знаю правильно ли я понял и то ли я сделал? Там пока только 4 кодировки: Ansi-Koi8 и обратно и Ansi - Utf-8 b обратно
Прикрепления: faEncoding.zip(79Kb)
 
Сообщение
Цитата mishem ()
И туда же можно конвертор строк, только не хеши вычислять, а именно конвертер в разные кодировки. Ну здесь уже на усмотрение, можно только основные, а можешь тоже все подряд что найдешь.

Не знаю правильно ли я понял и то ли я сделал? Там пока только 4 кодировки: Ansi-Koi8 и обратно и Ansi - Utf-8 b обратно

Автор - frolandr
Дата добавления - 17 Марта 2014 в 17:23
mishemДата: Пн, 17 Марта 2014, 18:03 | Сообщение # 23
Эксперт форума
Понял правильно. А с окошками помошниками еще не разобрался? Не удобно ж самостоятельно вписывать. :)

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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПонял правильно. А с окошками помошниками еще не разобрался? Не удобно ж самостоятельно вписывать. :)

Автор - mishem
Дата добавления - 17 Марта 2014 в 18:03
frolandrДата: Пн, 17 Марта 2014, 18:12 | Сообщение # 24
Любопытный
Цитата mishem ()
Понял правильно

Ок. Какие кодировки нужны?

Цитата mishem ()
А с окошками помошниками еще не разобрался? Не удобно ж самостоятельно вписывать

Пока нет, времени свободного очень мало, начать бы этим заниматься зимой...
 
Сообщение
Цитата mishem ()
Понял правильно

Ок. Какие кодировки нужны?

Цитата mishem ()
А с окошками помошниками еще не разобрался? Не удобно ж самостоятельно вписывать

Пока нет, времени свободного очень мало, начать бы этим заниматься зимой...

Автор - frolandr
Дата добавления - 17 Марта 2014 в 18:12
mishemДата: Пн, 17 Марта 2014, 18:28 | Сообщение # 25
Эксперт форума
Цитата frolandr ()
времени свободного очень мало,

Ну тебя никто не торопит. Познавай если интересно. Не спеши.

Цитата frolandr ()
Какие кодировки нужны?

Ды хрен его знает. :D

Вообще, то что для НБ нужно ты уже сделал, это конвертировать из utf в ansi. А по "ходу пьесы" много чего надо. Например конвертирование мнемоник в анси, конвертирование url на кирилице, base64, Вадиму как то Петр делал конвертирование rtf в анси и т.д и т.п.

Цитата mishem ()
А так, если исходить из того что в году 365 дней.

Чем больше информацию читаю по делфи, тем больше познаю тонкостей ускорения работы кода.

Получается что код в таком виде

Код
.Лет
Math "Trunc([Ostatok]/31536000)" "0" "[L]"
Math "[Ostatok]-[L]*31536000" "0" "[Ostatok]"

.Месяцев
Math "Trunc([Ostatok]/2592000)" "0" "[M]"
Math "[Ostatok]-[M]*2592000" "0" "[Ostatok]"

.Дней
Math "Trunc([Ostatok]/86400)" "0" "[D]"
Math "[Ostatok]-[D]*86400" "0" "[Ostatok]"

.Часов
Math "Trunc([Ostatok]/3600)" "0" "[Ch]"
Math "[Ostatok]-[Ch]*3600" "0" "[Ostatok]"

.Минут
Math "Trunc([Ostatok]/60)" "0" "[Min]"

.Секунд
Math "[Ostatok]-[Min]*60" "0" "[Sec]"


Будет работать быстрее чем тот что я написал выше. Разница в том что в этом коде я убираю повторяющиеся математические действия, хоть и увеличиваю количество строк.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата frolandr ()
времени свободного очень мало,

Ну тебя никто не торопит. Познавай если интересно. Не спеши.

Цитата frolandr ()
Какие кодировки нужны?

Ды хрен его знает. :D

Вообще, то что для НБ нужно ты уже сделал, это конвертировать из utf в ansi. А по "ходу пьесы" много чего надо. Например конвертирование мнемоник в анси, конвертирование url на кирилице, base64, Вадиму как то Петр делал конвертирование rtf в анси и т.д и т.п.

Цитата mishem ()
А так, если исходить из того что в году 365 дней.

Чем больше информацию читаю по делфи, тем больше познаю тонкостей ускорения работы кода.

Получается что код в таком виде

Код
.Лет
Math "Trunc([Ostatok]/31536000)" "0" "[L]"
Math "[Ostatok]-[L]*31536000" "0" "[Ostatok]"

.Месяцев
Math "Trunc([Ostatok]/2592000)" "0" "[M]"
Math "[Ostatok]-[M]*2592000" "0" "[Ostatok]"

.Дней
Math "Trunc([Ostatok]/86400)" "0" "[D]"
Math "[Ostatok]-[D]*86400" "0" "[Ostatok]"

.Часов
Math "Trunc([Ostatok]/3600)" "0" "[Ch]"
Math "[Ostatok]-[Ch]*3600" "0" "[Ostatok]"

.Минут
Math "Trunc([Ostatok]/60)" "0" "[Min]"

.Секунд
Math "[Ostatok]-[Min]*60" "0" "[Sec]"


Будет работать быстрее чем тот что я написал выше. Разница в том что в этом коде я убираю повторяющиеся математические действия, хоть и увеличиваю количество строк.

Автор - mishem
Дата добавления - 17 Марта 2014 в 18:28
ВадимДата: Пн, 17 Марта 2014, 19:58 | Сообщение # 26
Генератор идей


mishem, Trunc я никогда не использовал и справка не содержит сведений о математических функциях. В чем ее смысл, ведь Math сама может округлять?

Цитата mishem ()
Получается что код в таком виде

А если должно получиться 1 год и 33 секунды? Зачем вычислять в этом случае дни, часы, минуты?
Из-за этого я и прибег к рекурсии.


С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров
 
Сообщение


mishem, Trunc я никогда не использовал и справка не содержит сведений о математических функциях. В чем ее смысл, ведь Math сама может округлять?

Цитата mishem ()
Получается что код в таком виде

А если должно получиться 1 год и 33 секунды? Зачем вычислять в этом случае дни, часы, минуты?
Из-за этого я и прибег к рекурсии.

Автор - Вадим
Дата добавления - 17 Марта 2014 в 19:58
PeterДата: Пн, 17 Марта 2014, 21:03 | Сообщение # 27
Админ NeoBook
Цитата mishem ()
для НБ нужно ты уже сделал, это конвертировать из utf в ansi.

:D
Это все уже года три (а может и куда больше) как имеется в одном известном чуде в перьях.
mishem, похоже на то, что тебе плагины нужны просто потому-что старые (но рабочие) уже поднадоели.
Для сведения: AnsiToUtf8 и Utf8ToAnsi стандартные функции VCL, и хоть каждый день выпускай новый плагин с функцией конвертации строк (и не только из Ansi в UTF8 и обратно, а и из любой другой кодировки) результат будет одним и тем же.
:)

Кстати, подобные элементарные вещи уж пора бы давно научиться делать самостоятельно с учетом:
Цитата mishem ()
Чем больше информацию читаю по делфи,


Цитата mishem ()
Вадиму как то Петр делал конвертирование rtf в анси и т.д и т.п.

Вадиму я делал специальную перекодировку под его конкретные нужды.

Цитата Вадим ()
и справка не содержит сведений о математических функциях

Это почему же не содержит?
Все имеется, по крайней мере имеется перечисление математический функций с которыми может работать NB, и я не думаю, что справка должна содержать ещё и их описание, например, что такое синус.

Цитата Вадим ()
В чем ее смысл, ведь Math сама может округлять?

Смысл в том, что Math округляет конечный результат, а Trunc "округляет" (точнее возвращает целочисленную часть) промежуточный результат внутри формулы.
Вадим, команда Math может работать по формулам, а не только 2+2.
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
для НБ нужно ты уже сделал, это конвертировать из utf в ansi.

:D
Это все уже года три (а может и куда больше) как имеется в одном известном чуде в перьях.
mishem, похоже на то, что тебе плагины нужны просто потому-что старые (но рабочие) уже поднадоели.
Для сведения: AnsiToUtf8 и Utf8ToAnsi стандартные функции VCL, и хоть каждый день выпускай новый плагин с функцией конвертации строк (и не только из Ansi в UTF8 и обратно, а и из любой другой кодировки) результат будет одним и тем же.
:)

Кстати, подобные элементарные вещи уж пора бы давно научиться делать самостоятельно с учетом:
Цитата mishem ()
Чем больше информацию читаю по делфи,


Цитата mishem ()
Вадиму как то Петр делал конвертирование rtf в анси и т.д и т.п.

Вадиму я делал специальную перекодировку под его конкретные нужды.

Цитата Вадим ()
и справка не содержит сведений о математических функциях

Это почему же не содержит?
Все имеется, по крайней мере имеется перечисление математический функций с которыми может работать NB, и я не думаю, что справка должна содержать ещё и их описание, например, что такое синус.

Цитата Вадим ()
В чем ее смысл, ведь Math сама может округлять?

Смысл в том, что Math округляет конечный результат, а Trunc "округляет" (точнее возвращает целочисленную часть) промежуточный результат внутри формулы.
Вадим, команда Math может работать по формулам, а не только 2+2.
;)

Автор - Peter
Дата добавления - 17 Марта 2014 в 21:03
frolandrДата: Пн, 17 Марта 2014, 21:42 | Сообщение # 28
Любопытный
Добавил еще 3 кодировки.
Прикрепления: 5327628.zip(80Kb)
 
СообщениеДобавил еще 3 кодировки.

Автор - frolandr
Дата добавления - 17 Марта 2014 в 21:42
mishemДата: Пн, 17 Марта 2014, 22:38 | Сообщение # 29
Эксперт форума
Цитата Вадим ()
В чем ее смысл, ведь Math сама может округлять?

Ну Петр в принципе объяснил. Math округляет по общепринятым принципам. 2,5 округлит до 3, а 2, 4 до 2.
Trunc векрнет только целую часть, будь то 2,9 или 2,1 в результате будет только целое число 2. Тоесть не нужно проверять есть остаток, или нет если тебе нужна только целая часть значения. Что в данном случае нам и нужно.

Цитата Вадим ()
А если должно получиться 1 год и 33 секунды?

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

Но я не говорю что это решение правильное. Просто я вижу это так. Если подумать, вполне возможно что есть более рациональное решение.

Цитата Вадим ()
Из-за этого я и прибег к рекурсии.

Я надеюсь ты не обиделся про порнографию, это была шутка. :)

Цитата Вадим ()
справка не содержит сведений о математических функциях.

Интернет содержит описание по всем функциям. ;)

Цитата Peter ()
похоже на то, что тебе плагины нужны просто потому-что старые (но рабочие) уже поднадоели

Ды нет. :) Я ж уже по моему тебе говорил, что есть функции в плагинах которые стоило бы выделить в отдельные плагины. Это такие как конвертирование строк, конвертирование цвета, монитор мыши....

Когда то ты задавал вопрос, как лучше, один общий плагин, или несколько раздельных. Тогда вроде как пришли к мнению что лучше один большой, чем несколько маленьких.

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

Когда проект большой, да хрен с ним что много плагинов, но когда кода меньше чем плагинов, то как то.... :)

Цитата Peter ()
подобные элементарные вещи уж пора бы давно научиться делать самостоятельно с учетом:

Я справку жду.
redface

Добавлено (17 Марта 2014, 22:38)
---------------------------------------------

Цитата Вадим ()
Андрей, делайте отдельную тему для каждого плагина. Так и обсуждать эффективнее и найти плаг потом легче.

Да, совершенно верно. И не останавливайся на достгнутом.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Вадим ()
В чем ее смысл, ведь Math сама может округлять?

Ну Петр в принципе объяснил. Math округляет по общепринятым принципам. 2,5 округлит до 3, а 2, 4 до 2.
Trunc векрнет только целую часть, будь то 2,9 или 2,1 в результате будет только целое число 2. Тоесть не нужно проверять есть остаток, или нет если тебе нужна только целая часть значения. Что в данном случае нам и нужно.

Цитата Вадим ()
А если должно получиться 1 год и 33 секунды?

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

Но я не говорю что это решение правильное. Просто я вижу это так. Если подумать, вполне возможно что есть более рациональное решение.

Цитата Вадим ()
Из-за этого я и прибег к рекурсии.

Я надеюсь ты не обиделся про порнографию, это была шутка. :)

Цитата Вадим ()
справка не содержит сведений о математических функциях.

Интернет содержит описание по всем функциям. ;)

Цитата Peter ()
похоже на то, что тебе плагины нужны просто потому-что старые (но рабочие) уже поднадоели

Ды нет. :) Я ж уже по моему тебе говорил, что есть функции в плагинах которые стоило бы выделить в отдельные плагины. Это такие как конвертирование строк, конвертирование цвета, монитор мыши....

Когда то ты задавал вопрос, как лучше, один общий плагин, или несколько раздельных. Тогда вроде как пришли к мнению что лучше один большой, чем несколько маленьких.

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

Когда проект большой, да хрен с ним что много плагинов, но когда кода меньше чем плагинов, то как то.... :)

Цитата Peter ()
подобные элементарные вещи уж пора бы давно научиться делать самостоятельно с учетом:

Я справку жду.
redface

Добавлено (17 Марта 2014, 22:38)
---------------------------------------------

Цитата Вадим ()
Андрей, делайте отдельную тему для каждого плагина. Так и обсуждать эффективнее и найти плаг потом легче.

Да, совершенно верно. И не останавливайся на достгнутом.

Автор - mishem
Дата добавления - 17 Марта 2014 в 22:38
RezzoxeДата: Пн, 17 Марта 2014, 22:41 | Сообщение # 30


Сообщение отредактировано
Rezzoxe - Пн, 17 Марта 2014, 22:41
 
Сообщение

Автор - Rezzoxe
Дата добавления - 17 Марта 2014 в 22:41
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » faDateTime (Несколько функций даты и времени)
Страница 1 из 41234»
Поиск: