Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Непонятки с плагином File Utils Plug-In
mkgДата: Пт, 13 Марта 2015, 09:24 | Сообщение # 1
Любопытный
Вот сижу, делаю себе информер по валютам, в целях обучения. В целом жужжит, но при смене даты в календарике выдаёт некорректные курсы. Нифига не соответствует данным ЦБ РФ, хотя оттуда их и тащу.
Функция для парсинга - opXML, плагин для календаря - File Utils Plug-In.

Код:
SetVar "[Dt]" "[DateShort]"
SetVar "[Link]" "http://www.cbr.ru/scripts/XML_daily.asp?date_req="
StrIns "[Dt]" "[Link]" "50" "[Link2]"
Call "opXML" "[Link2]" ""
dgCalendar "" "Rectangle2" "Call [#34]mkg$[#34] [#34][#34]"

Функция mkg$ вот такая:

SetVar "Date" "[dgCalendarSelectDate]"
StrIns "[Date]" "[Link]" "50" "[Link3]"
Call "opXML" "[Link3]" ""

Может она и не нужна, но я пока не сообразил, как от неё избавиться.
В текстовых полях переменные соответственно Value10 и Value11(доллар и евро), на кнопке обновления опять Call "opXML" "[Link2]" ""

Там еще странности, но это потом.

Тапочками прошу не шлёпать, я только учусь. Второй день, гы :)
Прикрепления: 3250376.png (8.7 Kb) · 5783307.zip (11.3 Kb)
 
СообщениеВот сижу, делаю себе информер по валютам, в целях обучения. В целом жужжит, но при смене даты в календарике выдаёт некорректные курсы. Нифига не соответствует данным ЦБ РФ, хотя оттуда их и тащу.
Функция для парсинга - opXML, плагин для календаря - File Utils Plug-In.

Код:
SetVar "[Dt]" "[DateShort]"
SetVar "[Link]" "http://www.cbr.ru/scripts/XML_daily.asp?date_req="
StrIns "[Dt]" "[Link]" "50" "[Link2]"
Call "opXML" "[Link2]" ""
dgCalendar "" "Rectangle2" "Call [#34]mkg$[#34] [#34][#34]"

Функция mkg$ вот такая:

SetVar "Date" "[dgCalendarSelectDate]"
StrIns "[Date]" "[Link]" "50" "[Link3]"
Call "opXML" "[Link3]" ""

Может она и не нужна, но я пока не сообразил, как от неё избавиться.
В текстовых полях переменные соответственно Value10 и Value11(доллар и евро), на кнопке обновления опять Call "opXML" "[Link2]" ""

Там еще странности, но это потом.

Тапочками прошу не шлёпать, я только учусь. Второй день, гы :)

Автор - mkg
Дата добавления - 13 Марта 2015 в 09:24
DEMBELДата: Пт, 13 Марта 2015, 10:33 | Сообщение # 2
Наш дизайнер
Нужно смотреть в окно дебаггера что происходит. Видно, что при вызове opXML она кладет данные в массивы. При повторных вызовах когда массивы уже существуют, она добавляет к ним данные, а не перезаписывает новыми значениями как вы ожидаете. Соответственно, перед вызовом (в Обновить) нужно сперва удалить все старые массивы - DeleteArray "[Value]" "All" и все остальные:

Код
.сбрасываем массивы
DeleteArray "[Numcode]" "All"
DeleteArray "[Charcode]" "All"
DeleteArray "[Value]" "All"
DeleteArray "[Nominal]" "All"
DeleteArray "[Name]" "All"

.загружаем XML с датой [Date] из селектора
Call "opXML" "http://www.cbr.ru/scripts/XML_daily.asp?date_req=[Date]" ""


Код со страницы уж тоже немного переделал покороче. StrIns ненужен, можно просто вставить переменную по месту
Код
hpwDateTimePickCreate "Rectangle1" "D" "" "" "Date"
Call "opXML" "http://www.cbr.ru/scripts/XML_daily.asp?date_req=[DateShort]" ""
dec_MostrarUnCalendario "" "Дата"


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеНужно смотреть в окно дебаггера что происходит. Видно, что при вызове opXML она кладет данные в массивы. При повторных вызовах когда массивы уже существуют, она добавляет к ним данные, а не перезаписывает новыми значениями как вы ожидаете. Соответственно, перед вызовом (в Обновить) нужно сперва удалить все старые массивы - DeleteArray "[Value]" "All" и все остальные:

Код
.сбрасываем массивы
DeleteArray "[Numcode]" "All"
DeleteArray "[Charcode]" "All"
DeleteArray "[Value]" "All"
DeleteArray "[Nominal]" "All"
DeleteArray "[Name]" "All"

.загружаем XML с датой [Date] из селектора
Call "opXML" "http://www.cbr.ru/scripts/XML_daily.asp?date_req=[Date]" ""


Код со страницы уж тоже немного переделал покороче. StrIns ненужен, можно просто вставить переменную по месту
Код
hpwDateTimePickCreate "Rectangle1" "D" "" "" "Date"
Call "opXML" "http://www.cbr.ru/scripts/XML_daily.asp?date_req=[DateShort]" ""
dec_MostrarUnCalendario "" "Дата"

Автор - DEMBEL
Дата добавления - 13 Марта 2015 в 10:33
mkgДата: Пт, 13 Марта 2015, 15:42 | Сообщение # 3
Любопытный
DEMBEL, Спасибо, буду знать на будущее.
 
СообщениеDEMBEL, Спасибо, буду знать на будущее.

Автор - mkg
Дата добавления - 13 Марта 2015 в 15:42
  • Страница 1 из 1
  • 1
Поиск: