Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Меня в запросе tz=Europe/Moscow на другое получешь нужное время. Допустим если написать tz=Africa/Accra - то получишь африканское время. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Я посредственный делфийст и сделать на ее основе плагин не могу, но я думаю какому нибудь матерому программисту в этой среде, не составит труда это сделать.
Конечно получить плагином в отдельные переменные было бы значительно удобнее
Да, было бы отлично, если бы нашелся такой человек кто сделал бы простенький плагинчик с такой функцией... "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Ну, еще Андрей (frolandr), Гарик, Дембель, может mishem возьмется... У Андрея сейчас два плагина в работе, у Петра тоже... как минимум три плагина в работе, Гарик вроде пропал куда-то, Дембелю похоже некогда, остается надеяться на mishem`а !
Добавлено (25 Марта 2014, 20:28) --------------------------------------------- Оформлю данное решение, может кому из новичков пригодится. Получить дату и время в переменные с помощью утилиты Антона и плагина Дембеля можно так:
Добавлено (25 Марта 2014, 20:30) --------------------------------------------- Паузу (Delay) поставил потому, что без нее не всегда с первого раза отрабатывал скрипт. А в таком виде работает без промахов. Уж не знаю почему, может кто прояснит.
Я, конечно, ценю твое тонкое чувство юмора, но и на самом деле создание (точнее даже оформление кода в виде...) такого плагина совсем несложная задача и может полсужить очень хорошим поводом для начала процесса плагинотворения (насколько я понял, такая задача уже поставлена).
ЦитатаВадим ()
Уж не знаю почему, может кто прояснит.
Тут все достаточно просто: любое обращение в сеть интернет совершенно не предсказуемо по времени получения ответа. Это в программе пока не отработает предыдущий код следующий не запуститься (но не всегда так), в инете же отправил запрос и... жди у моря погоды - может через секнду вернется, а может через пять минут или пять часов...
Попробуй запускать dmRun с параметром (если таковой имеется), аналогичным Wait в штатной Run, теоретически должно помочь.
Добавлено (26 Марта 2014, 20:59) --------------------------------------------- Кстати...
Цитатаanton ()
Команда одна и выглядит так: NTPClient.exe (сервер точного времени) Например: NTPClient.exe ntp5.stratum2.ru
Если сервер точного времени не указан то берет время с сервера ntp1.stratum1.ru
у меня кроме черного окошка на секунду вообще ничего не показало. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Для удобства работы в NeoBook немного переделал утилиту. Теперь она выводит ответ в виде значений разделенных точкой с запятой. (например: 27;04;2014;12;11;31 - где первые три значения дата а следующие три значения время)
Еще добавил вторую команду date или time. Указав которые по идее должно выводится либо только время, либо только дата. Но почему то команда dmRun плагина dmCMDLine 1.0 не хочет ее обрабатывать и вываливается в Error, хотя в виндовой командной строке все работает.
Получается в плагине работает только команды такого вида:
В cmd.exe все фурычит и утилита может запускаться одним из следующих образов: NTPClient.exe (Вернет: 27;04;2014;12;11;31) NTPClient.exe ntp3.stratum1.ru (Вернет: 27;04;2014;12;11;31) NTPClient.exe ntp3.stratum1.ru date (Вернет: 27;04;2014) NTPClient.exe ntp3.stratum1.ru time(Вернет: 12;11;31)
Так, ну и еще ложка дегтя и как услада слуха для Peter В Windows 8 утилита должна запускаться только от имени администратора иначе ее работа возвращает пустоту. Соответственно если вы включили эту утилиту в свой NeoBook проект, надо во вкладке Проект-Свойства-Версия поставить точку напротив поля "Требовать администратора". Но и это не панацея от всех бед. Если несколько раз подряд запустите утилиту в Win8, допустим закинув ее запуск в таймер. Ее напрочь заблокирует виндовый фаэрвул, и пока его не отключите она вновь не заработает.
И что же должно быть в переменной [RezultTimeInternet]
ЦитатаPeter ()
у меня кроме черного окошка на секунду вообще ничего не показало.
Все правильно, программа выполняется и сразу закрывается. Чтобы посмотреть ее результат надо сначала запустить командную строку, а в ней уже прописать путь до программы NTPClient.exe. как у меня на скриншоте.
ЦитатаВадим ()
Паузу (Delay) поставил потому, что без нее не всегда с первого раза отрабатывал скрипт. А в таком виде работает без промахов. Уж не знаю почему, может кто прояснит.
Вместо паузы поставь галочку в команде dmRun напротив пункта "Ждать завершения работы" или помести команды обработки даты и времени в подпрограмму и запускай их в блоке "Подпрограмма по получении данных" команды dmRun.
Добавлено (27 Марта 2014, 13:03) ---------------------------------------------
ЦитатаPeter ()
Я, конечно, ценю твое тонкое чувство юмора, но и на самом деле создание (точнее даже оформление кода в виде...) такого плагина совсем несложная задача и может полсужить очень хорошим поводом для начала процесса плагинотворения (насколько я понял, такая задача уже поставлена).
НЕЕЕ, я на ближайший месяц как минимум, на расстояние пушечного выстрела к SDK не подойду. Я пол дня вечера сидел пытался сделать из этой кмдешки плагин и ни в какую. Пока мозг из ушей вытекать не начал не бросал все надеялся и верил... Не выходит у меня пока сделать плагин, знаний не хватает... Вроде все верно, компиляция проходит без ошибок. А как подключать к NeoBook, так постоянно хрень какая то ошибки, зависания и т.д...
Вместо паузы поставь галочку в команде dmRun напротив пункта "Ждать завершения работы" или помести команды обработки даты и времени в подпрограмму и запускай их в блоке "Подпрограмма по получении данных" команды dmRun.
А, понятно, спасибо!!
Цитатаanton ()
И что же должно быть в переменной [RezultTimeInternet]
Косяк, это я забыл исправить, менял названия переменных, а в форме вывода не изменил.
Цитатаanton ()
еще ложка дегтя
Такие проблемы наверное только в плагине можно решить корректно.
Вот работающий демо-проект (выше приведенный архив удалил, см. прикрепление). (демо-проект для первой версии утилиты Антона)
Попробуй запускать dmRun с параметром (если таковой имеется), аналогичным Wait в штатной Run, теоретически должно помочь.
Посты надо читать не по-диагонали.
Цитатаanton ()
как услада слуха для Peter
А что снова Peter-то? Peter, он что, "пуп Земли " что-ли? А то, что все ОС после хрюши имеют (для меня, по крайней мере) больше недостатков, чем достоинств (которые можно лишь притянуть за уши при очень большом желании), мне и так давно ясно.
Цитатаanton ()
НЕЕЕ, я на ближайший месяц как минимум, на расстояние пушечного выстрела к SDK не подойду
Ага! А Peter тут должен париться с этим VLC неделями!
Цитатаanton ()
пол дня вечера сидел пытался сделать
Ну, разьве это срок! Бывает что не один день убъешь, а решения так и не найти, апотом оно само приходит, как озарение, и задача решается в пять минут. А то привыкли, понимаешь, что в NB все быстро и просто, теперь кажется что и в Delphi так будет. Нет, господа, захотели делать плагины - настраивайтесь на долгий и кропотливый труд.
В данном же случае, все достаточно просто: нужно оформлять код в виде функции/процедуры (лучше двух функций), что-то в этом духе:
...... procedure DoSNTP (AHost : string; var AData1 : string: var AData2 : string) ; var SNTP: TIdSNTP; temp: TIdSNTP; begin SNTP := TIdSNTP.Create(temp); if AHost = '' then SNTP.Host := 'ntp1.stratum1.ru' else SNTP.Host := AHost; try if SNTP.SyncTime then begin AData1:= DateTimeToStr(SNTP.DateTime); AData2:= SNTP.Host; end; except begin AData1:= 'Error'; AData2:= SNTP.Host; end; end; end.
function GetTime (AHost, AVar1, AVar2 : PChar) : Boolean; var AData1, AData2 : string; begin Result:= False; DoSNTP (string(AHost), AData1, AData2); If StrPas(AVar1) <> '' then nbSetVar (PChar(AVar1), PChar(AData1)); If StrPas(AVar2) <> '' then nbSetVar (PChar(AVar2), PChar(AData2)); Result:= True; end; ///////////////////////////////////
Вызывать в плагине GetTime через nbAxecAction. Естесственно, что возможны варианты, и это - не единственное решение.
Форматирование слетело, но, думаю разобраться, можно.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ну пуп не пуп, а человек не последний на форуме... к тому же как не кто сможет оценить еще один плюс в отношении WindowsXP
ЦитатаPeter ()
Ага! А Peter тут должен париться с этим VLC неделями!
Да, представляю какую приходится делать работу, окучиваю библиотеки VLC. Тут три строчки кода разобрать не могу, а там теперь вообще заблудишься. Спасибо тебе за труды. И огромное спасибо за пример кода для плагина, постараюсь в него получше вникнуть, и понять в чем у меня были проблемы...
"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Сообщение отредактировано anton - Чт, 27 Марта 2014, 15:09
Петр, чуешь разницу в понимании того как делать плагины когда есть помощь со стороны?
Цитатаanton ()
НЕЕЕ, я на ближайший месяц как минимум, на расстояние пушечного выстрела к SDK не подойду. Я пол дня вечера сидел пытался сделать из этой кмдешки плагин и ни в какую. Пока мозг из ушей вытекать не начал не бросал все надеялся и верил... Не выходит у меня пока сделать плагин, знаний не хватает... Вроде все верно, компиляция проходит без ошибок. А как подключать к NeoBook, так постоянно хрень какая то ошибки, зависания и т.д...
А тут раз, и на следующий день все готово. Оказывается легко и просто. А главное ведь понятно.
И в следующий раз уже не будет сидеть, надеяться и верить....
Добавлено (28 Марта 2014, 15:09) ---------------------------------------------
Цитатаmishem ()
Я пол дня вечера
Вообще то меня эта фраза сразу убила, сейчас опять прочел, не смог удержаться.
Петр, чуешь разницу в понимании того как делать плагины
Гм... Вот в том-то и все дело, что я НЕ ОБЪЯСНЯЛ как делать плагины, а просто оформил код из консольки в виде двух функций, и эти функции можно применить везде (в любом приложении), а не только в плагинах. mishem, необушные плагины ничем не отличаются от обычных виндовских библиотек, которые, в свою очередь (в сравнение с экзешниками) с точки зрения работы собственного кода тоже ничем не выделяются. Вся разница только в том, что нужно научиться обращаться к библиотеке правильно. В SDK и показано как нужно обращаться к необушным плагинам (в силу их специфики), и не более того. И понимание этих вещей (что такое DLL, и с чем их едят) подразумевается само-собой, когда говорится о том, что SDK рассчитан на подготовленных и имеющих опыт программеров.
Добавлено (28 Марта 2014, 15:54) ---------------------------------------------
Цитатаmishem ()
А тут раз, и на следующий день все готово. Оказывается легко и просто
Это пока пинка не дашь.
Добавлено (28 Марта 2014, 15:57) --------------------------------------------- Я вот, что еще подумал: может Антона тогда и на VLC "перепрофилировать"? А что? Он лицо самое заинтересованное, сделает все как ему нужно.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Вот потому и надо иметь опыт и знание теории. Чтобы стало раз и навсегда понятно по SDK - маленький ликбез.... Необушные плагины - обычные виндовские библиотеки, просто заточенные специально под работу с NeoBook. В любой библиотеке содержаться какие-то функции (ресурсные библиотеки не рассматирваем), с которыми можно работать, у билиотеки есть "внутренние" функции (которые она использует для своих собственных нужд), и функции, которые библиотека "делигирует внешнему миру", т.е. те функции, которые доступны "извне" и через которые можно работать с библиотекой. Перечень этих функций содержится в секции экспорта библиотеки (Export), и их список можно достаточно легко получить тоже "извне", Но, для работы, просто списка с названиями мало, т.к. нужно ещё знать состав и характер параметров этих функций, а также конвенцию их вызова (в большинстве случаев stdcall, а, например, у того же VLC - cdecl). Вот именно описание экспортируемых функций (что и для чего) и содержит SDK, и ни грамма больше (за исключением нескольких примеров плагинов). Хоть разработчик плагинов и не работает "извне" с этми плагинами (это делает NeoBook) ему надо знать и понимать "что и для чего", чтобы NB понимала его плагины и чтобы все правильно работало. Вот и ФСЕ....
Цитатаmishem ()
Пальцем руководить всегда проще чем самому делать.
А это к чему? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Как плагин отреагирует на возможную задержку в ответе сервера?
А это все вопросы к Антону, а не ко мне, т.к. его плагин, вот пусть и отдувается.
А вобщем случае, все зависит от того, как и что сделано в плагине. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
У меня еще предложение к Антону, на случай желания развивать плагин. Сделать формат вывода даты по типу глобальной переменной [DateShort] (Текущая дата в сокращенном Windows-формате (10/22/07) - (Месяц/Число/Год). Это не обязательно, конечно, можно и так выкрутиться, но позволило бы легко сравнивать полученные даты.
Добавлено (28 Марта 2014, 17:21) --------------------------------------------- И еще вопрос, первые 9 дней месяца плагин вернет в двумя цифрами или одной? Скажем, 1 мая будет 1 или 01?
mishem, ещё раз (и в последний раз) хочу повторить: SDK не научит Delphi, не научит делать плагины, поскольку плагин - всего-лишь маленький проект (на Delphi или С++), частность, и без общих знаний и опыта, будь хоть миллион раз на все языки и лады переведена справка, перевод не поможет. SDK всего-лишь махонький мостик, соединяющий плагин и NeoBook, а вся функциональность плагина заключена в его собственном коде, который, в большинстве случаев, "универсален" что для библиотеки, что для исполняемого файла. SDK - подсказчик (пояснение, документация) того, как делать плагины для NB, но он не подменит собой знание языка и опыт. Хотя, не скрою, конкретная перспектива в создании плагинов весьма заманчива: чего там мелочиться и делать кучу всяких экзешников, когда нужно-то всего - плагин. Заманчива несомненно! Но, и ... обманчива.
И по-любому придется изучать кучу всего (и делать тестовые экзешники и т.д. и т.п.), чтобы сделать, какалось бы, плевую вешь - маленький плагин.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я не спорю, и не стараюсь тебе доказать обратное. У нас с тобой как то разговор идет об одном и том же, но по разному.
ЦитатаPeter ()
SDK всего-лишь махонький мостик
Вот именно, хоть маленький, но мостик. Который открывает глаза на дальнейшее.
Без этого мостика не сдвинутся с места. Ты изучил что то, дошел до этого мостика, и топчешься. В лево пошел, брода нет, вправо тоже нет, на прямки, не пройти.
Я не изучаю делфи ежедневно. Время прошло, подзабыл, глянул в справку на русском, вспомнил за 5 минут. Дошел до этого мостика, а его нет. Спилил дерево лобзиком, перешел и остановился. Завтра пришел, а дерева уже нет. И по новой наяриваешь лобзиком.
А надо то, всего то мостик кинуть. Пришел, перешел, и пошел дальше.
Я не говорю что по справке к SDK сразу начнешь делать плагины, я говорю что она облегчает понимание. Я перевел пример, через месяц открыл его, и мельком пробежав по строкам вспоминаю все то что там находится.
Без перевода, опять сижу, и гадаю на кофейной гуще.
Я перевел UkiIDE потратив на это один день, и теперь знаю куда и что нужно нажимать. Без перевода, неделя понадобится как минимум сидеть и тыкать неизвестно куда. И не факт что все встанет сразу на свои места. Теперь я эту неделю могу потратить на что то более интересное. Не хочешь читать хелп?
Дальнейшее может быть только одним: учиться, учиться и учиться. (Как завещал Великий Ленин! Как учит Коммунистическая Партия!) Сам в этом быстро убедишься, когда глаза откроются.
Цитатаmishem ()
я говорю что она облегчает понимание
Она облегчает только одно понимание: как взаимодействовать с NB, и все. Но, это - капля в море, это такая мелочь, которой учиться-то не надо. Это примерно то же самое, как атлас автомобильных дорог (был когда-то такой) или карта города, которые просто показывают как проехать (вот здесь - налево, а вот там, за поворотом через 100 метров, направо), но не учат ни ПДД, ни тому где газ, а где тормоз.
mishem, я специально постараюсь за ближайшие выходные доперевести справку, ну а дальше.. Дальше ты убедишься в том, что стало на 0.001% понятнее.
Но, только все вопросы уже не ко мне, плиз!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
вообще должно было быть слово "вчера" Это у меня так автокоррекция орфографии работает :)
ЦитатаPeter ()
Это пока пинка не дашь.
Ну как бы да... хотя мне не понятно. У меня было похоже, только не было процедуры. Прямо в функции код получения был, я думал что должно работать... Но видно сильно ошибался.
ЦитатаPeter ()
Я вот, что еще подумал: может Антона тогда и на VLC "перепрофилировать"? А что? Он лицо самое заинтересованное, сделает все как ему нужно.
ЭЭЭЭЭ неееее я пока не осилю... пока потренируюсь на чем нибудь более простеньком...
ЦитатаВадим ()
В отладчике видна переменная zmaNTPServer. Эта переменная для чтения-записи?
Это переменная для чтение, там название сервера с которого было получено время.
ЦитатаВадим ()
Как плагин отреагирует на возможную задержку в ответе сервера? Код NeoBook далее выполняется, пока плагин ждет или нет?
Пока какие нибудь данные с сервера (время или ошибку) получены не будут, дальше код выполняться не будит.
ЦитатаPeter ()
А это все вопросы к Антону, а не ко мне, т.к. его плагин, вот пусть и отдувается.
Все я попал под раздачу...
ЦитатаВадим ()
еще вопрос, первые 9 дней месяца плагин вернет в двумя цифрами или одной? Скажем, 1 мая будет 1 или 01?
С двумя
ЦитатаВадим ()
Сделать формат вывода даты по типу глобальной переменной [DateShort]
Завтра сделаю "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"