Курсы доллара и евро: гаджет для висты

Давненько хотел написать какой нить гаджет для висты. Изначально хотел сделать это на 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\ и в нее скопировать содержимое архива. 

  • Andrew Tishkin

    Доброго вреемни суток 🙂

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

    Кстати, а что именно за php-скрипт расположен по адресу http://vitiy.info/Currency/currencyRates.png? Есть ли гарантия, что в ближайшие месяцы адрес не накроется? =)))

    За гаджет ещё раз спасибо

  • В ближайшие годы надеюсь ничего не случиться с адресом ж)
    PHP скрипт там собственного написания, использует метод, описанный здесь: http://www.phpworld.ru/articles/netphp.php

  • Alex

    Отличная штука! СПАСИБИЩЕ!
    Если не трудно Сделай еще РТС и ММВБ? 🙂

  • Prime

    Спасибо тебе большое за этот гаджет, очень хорошая штука!!!

  • Александр

    Здорово! Спасибо! До этого пробовал несколько гаджетов, в том числе ссылающийся на один из сайтов Украины… Ваш – просто чудо!

  • VAlex

    гаджет хороший, но есть одна проблема: у меня при загрузке компа соединение с инетом автоматически не включается (модем USB – подключение вручную) и когда появляются гаджеты на боковой панели, Ваш гаджет выгглядит ка черный квадрат. приходится его удалять из боковой панели и снова добавлять – тогда работает. В чем причина?

  • rap

    Не работает с IE8, а жаль…

  • rap

    Вообще же вид гаджета отличный! Нужно немного доработать логику его. что бы отображал кэшированный последний пока сервер недоступен…

  • Гаджет запрашивает картинку раз в час – если изначально нет соединения, то будет черный квадрат. Я не хотел делать дополнительных проверок, чтобы совсем не грузить систему. Кроме того не хочу показывать кешированную картинку – так как меня интересует именно актуальная информация. Можно было бы какую нить картинку выводить красивую когда нет связи…

    Частоту обновления можно легко поменять в коде (клиентский код очень короткий – все делается на сервере).

  • rap

    Ага. Все так, только вот если черный квадрат – то он надолго, на час где то…
    Если бы когда нет картинки он чаще пытался – было бы лучше.
    + под IE8 не работает, как и писал я уже…

  • А какие симптомы под IE8?

  • rap

    Когда тащишь на панель все ОК, тащится превьюшка, когда опускаешь остается только “ухо” справа (где закрыть кнопка), а самой картинки нет =(
    Могу скриншот кинуть если скажешь куда.

  • rap

    Сделал хотфикс – вместо g:background просто тэг img…
    надо будет доработать там нормально и логику обновлений… а то сейчас в случае ошибки загрузки плохо себя ведет =)

  • rap

    А почему ты свой гаджет на MS не выложишь? Он лучший для курсов пока!
    Вот только можешь поправить частоту обновления на серваке? Последняя время курс динамично меняется. А у тебя сменапади в 12 ночи идет и целый день курс неверный…

  • shura_win

    Добавить бы еще курсы РТС и ММВБ и соотношение USD/EUR
    а так это самое лучшее что нашел
    ОГРОМНОЕ спасибо !!!

  • asf

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

  • kovboy

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

  • fan

    Гаджет отличный! Спасибо!
    Можно ли получить код скрипта на php? А то вдруг адресок накроется – нет ничего вечного на этом свете … 🙂 А так на свой сервер можно положить…

  • Andrey

    Присоединяюсь к предыдущим благодарностям. Гаджет просто супер! Но есть пара пожеланий:
    1. В первой половине дня (по МСК) уже известен курс на завтра и все банки меняют свой курс, ориентируясь на него, однако гаджет этого не отображает, т.е. информация уже не актуальна. Очень хотелось бы видеть самую последнюю информацию:)
    2. Неплохо бы иметь какое-нибудь соответствие между графиком и валютой. Т.е. должно быть интуитивно понятно какой график соответствует доллару, а какой евро. А то приходится догадываться)
    Ну и можно добавить EUR/USD, хотя думаю это сделать не так просто)

    Буду безмерно рад, если автор добавит что-нибудь из этого в новую версию, но гаджет в любом случае отличный! Большое спасибо автору!

  • Паша

    Гаджет просто супер до сих пор работает, всегда его ставлю.

  • Артем

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

    Тематическая проверка для “оставления коммента” – зверская конечно!
    1E – читаю как “1 exponent”, те 1E1 = 1.
    А он опишет – неправильно!
    Я бы поменял E на F – а то какая-то неоднозначность.