05.09.08
Курсы доллара и евро: гаджет для висты
Давненько хотел написать какой нить гаджет для висты. Изначально хотел сделать это на WPF, но выяснилось что к гаджетам у микрософта другой подход. Посути гаджет - это html веб страница со всеми вытекающим. Поэтому только xbap или silverlight можно засунуть в гаджет (причем стало это можно сделать относительно недавно).
Посмотрев в каталоге гаджетов, гаджеты, которые показывают курс валют, и не найдя там ничего интересного, я решил написать свой монитор курсов. У нашего центрабанка есть прекрасный веб сервис, который предоставляет всю информацию о курсах валют за любой период.
Попытка использовать сильверлайт закончилась неудачно. Во первых, под 64-битной вистой сильверлайт не работает в 64-битном сайдбаре. Это можно обойти, запуская 32-ух битную версию сайдбара, но это уже извращение. Во вторых, из сильверлайта в гаджете нельзя нормально обратиться к вебсервису. Это связано с тем, что сильверлайт в гаджете не видит конфигурационных xml файлов и не может получить доступ. Есть workaround, который передает данные в сильверлайт контрол через скрипт AJAX, но я считаю это не очень красивым.
В итоге я сделал проще - гаджет просто показывает картинку с вебсервера, обновляя ее раз в час. А на сервере работает php скрипт по крону, который запрашивает данные у центробанка. Гаджет показывает текущий курс бакса и евро, на сколько он изменился за день и за неделю и график динамики курсов за 3 недели.

Просто запустите скаченный файл, и гаджет установится. Если этого не произойдет и он откроется как зип архив, то можно на гаджете нажaть Open with… Sidebar. Если и это не поможет, то можно создать папку C:\Users\Ваше имя\AppData\Local\Microsoft\Windows Sidebar\Gadgets\CurrencyRates.gadget\ и в нее скопировать содержимое архива.
Доброго вреемни суток
Огромное спасибо за гаждет
Данво хотел наблюдать за курсом валют на боковой панели, но никак не мог найти нормального гаджета. тем более получающего данные с cbr.ru
Кстати, а что именно за php-скрипт расположен по адресу http://vitiy.info/Currency/currencyRates.png? Есть ли гарантия, что в ближайшие месяцы адрес не накроется? =)))
За гаджет ещё раз спасибо
В ближайшие годы надеюсь ничего не случиться с адресом ж)
PHP скрипт там собственного написания, использует метод, описанный здесь: http://www.phpworld.ru/articles/netphp.php
Отличная штука! СПАСИБИЩЕ!
Если не трудно Сделай еще РТС и ММВБ?
Спасибо тебе большое за этот гаджет, очень хорошая штука!!!
Здорово! Спасибо! До этого пробовал несколько гаджетов, в том числе ссылающийся на один из сайтов Украины… Ваш - просто чудо!
гаджет хороший, но есть одна проблема: у меня при загрузке компа соединение с инетом автоматически не включается (модем USB - подключение вручную) и когда появляются гаджеты на боковой панели, Ваш гаджет выгглядит ка черный квадрат. приходится его удалять из боковой панели и снова добавлять - тогда работает. В чем причина?
Не работает с IE8, а жаль…
Вообще же вид гаджета отличный! Нужно немного доработать логику его. что бы отображал кэшированный последний пока сервер недоступен…
Гаджет запрашивает картинку раз в час - если изначально нет соединения, то будет черный квадрат. Я не хотел делать дополнительных проверок, чтобы совсем не грузить систему. Кроме того не хочу показывать кешированную картинку - так как меня интересует именно актуальная информация. Можно было бы какую нить картинку выводить красивую когда нет связи…
Частоту обновления можно легко поменять в коде (клиентский код очень короткий - все делается на сервере).
Ага. Все так, только вот если черный квадрат - то он надолго, на час где то…
Если бы когда нет картинки он чаще пытался - было бы лучше.
+ под IE8 не работает, как и писал я уже…
А какие симптомы под IE8?
Когда тащишь на панель все ОК, тащится превьюшка, когда опускаешь остается только “ухо” справа (где закрыть кнопка), а самой картинки нет =(
Могу скриншот кинуть если скажешь куда.
Сделал хотфикс - вместо g:background просто тэг img…
надо будет доработать там нормально и логику обновлений… а то сейчас в случае ошибки загрузки плохо себя ведет =)
А почему ты свой гаджет на MS не выложишь? Он лучший для курсов пока!
Вот только можешь поправить частоту обновления на серваке? Последняя время курс динамично меняется. А у тебя сменапади в 12 ночи идет и целый день курс неверный…
Добавить бы еще курсы РТС и ММВБ и соотношение USD/EUR
а так это самое лучшее что нашел
ОГРОМНОЕ спасибо !!!
Чудесный гаджет, автору спасибо. Эх, если бы он мог курс в белорусских рублях показывать, для меня он был бы просто замечательным
Гаджет супер, самый лучший из того, что я видел…. спасибо, автору респект и уважуха, рекомендую выложить на сайт мелкософта. Спасибо!!!
Гаджет отличный! Спасибо!
А так на свой сервер можно положить…
Можно ли получить код скрипта на php? А то вдруг адресок накроется - нет ничего вечного на этом свете …
Присоединяюсь к предыдущим благодарностям. Гаджет просто супер! Но есть пара пожеланий:
1. В первой половине дня (по МСК) уже известен курс на завтра и все банки меняют свой курс, ориентируясь на него, однако гаджет этого не отображает, т.е. информация уже не актуальна. Очень хотелось бы видеть самую последнюю информацию:)
2. Неплохо бы иметь какое-нибудь соответствие между графиком и валютой. Т.е. должно быть интуитивно понятно какой график соответствует доллару, а какой евро. А то приходится догадываться)
Ну и можно добавить EUR/USD, хотя думаю это сделать не так просто)
Буду безмерно рад, если автор добавит что-нибудь из этого в новую версию, но гаджет в любом случае отличный! Большое спасибо автору!