|
![]() |
#1 |
Moderator
|
Получить курс валют из интернета
Кто нибудь пробовал решить такую задачу ?
Вот накануне набросал на VC: PHP код:
Решил попробовать реализовать это дело в Аксапте: Есть класс WinInet; в нем есть методы InternetOpen и InternetReadFileб но нет InternetConnect, HttpOpenRequest и многих других мне необходимых. Ладно думаю, не беда - создам наследника и в нем все это реализую. Не тут то было. WinInet объявлен как final. А почему ? А зачем ? Не понимаю. ![]() Ладно. Создаю свой класс: PHP код:
DLL function not found InternetConnect. Как не найдена. MSDN говорит, что она в той же dll-ке, что и InternetOpen. Более того, мой эксперимент с VC подтверждает это. Получается, что одни функции в dll Аксапта видит другие нет ? Почему ? Или такие задачи в Аксапте решаются гораздо проще ? Может есть классы, которые на более высоком уровне позволяют работать с интернет ? P.S. Несмотря на то, что WinInet объявлен как final, я создал его наследника, добавил в него свой метод и переопределил один из его методов. Это что, глюк Аксапты ? (Axapta 2.5 SP2) |
|
![]() |
#2 |
Участник
|
1. попробуйте после load добавить info(xml.xml()) - что вы увидите?
2. Попробуйте load заменить на X++: if (!xml.load(...)) throw error(xml.parseError().toString()); |
|
![]() |
#3 |
злыдень
|
Попробуйте прогнать вот такой тестовый джобик:
X++: static void Job52(Args _args) { COM xml = new COM("MSXML2.DOMDocument"); XMLNodeList vlist; XMLNode valute; str code, nom, nam, val; int i; ; xml.async(false); // Вернуть управление только после полной загрузки файла xml.validateOnParse(false); // Не проверять загружаемый файл на соответствие своей схеме if (!xml.Load("http://www.cbr.ru/scripts/XML_daily.asp?date_req=01/06/2007")) info('Не удалось загрузить курсы валют с ЦБР (см. http://www.cbr.ru/scripts/root.asp)'); // Выбрать все корневые элементы Valute vlist = xml.selectNodes("*/Valute"); for(i = 1; i<=vlist.length(); i++) { valute = vlist.item(i-1); // Получить информацию о номинале, названии и курсе валюты code = valute.selectSingleNode("CharCode").text(); nom = valute.selectSingleNode("Nominal").text(); nam = valute.selectSingleNode("Name").text(); val = valute.selectSingleNode("Value").text(); info(code+" "+nom + " " + nam + " = " + val + " руб."); } }
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
![]() |
#4 |
Участник
|
Загрузила проект - ошибка "Модификаторы Client и Server можно использовать только в статических методах." в методах Run и canGoBatchJournal
|
|
![]() |
#5 |
Участник
|
Разобралась=)
надо в методах Run и canGoBatchJournal дописать static и все замечательно работает (в 3.0) |
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
http://www.axaptapedia.com/Webservice
|
|
|
За это сообщение автора поблагодарили: AraraT® (1). |
Теги |
загрузка курсов валют, курс |
|
|