Домой C# Получение курсов валют с сайта «Банк России»: Справочник по C#

Получение курсов валют с сайта «Банк России»: Справочник по C#

803
0


      В данной инструкции будет рассмотрено подключение к веб-службе сайта «Банк России», для получения ежедневных данных (курсы валют, учетные цены драг, металлов и др). Центральный банк Российской Федерации (Банк России) был учрежден 13 июля 1990 г. на базе Российского республиканского банка Госбанка СССР. Подотчетный Верховному Совету РСФСР, он первоначально назывался Государственный банк РСФСР. 
      Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.
      На сегодняшний день наибольшее распространение получили следующие протоколы реализации веб-сервисов:

  • SOAP (Simple Object Access Protocol) — по сути это тройка стандартов SOAP/WSDL/UDDI
  • REST (Representational State Transfer)
  • XML-RPC (XML Remote Procedure Call)

     Данная служба работает через протокол SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам) — протокол обмена структурированными сообщениями в распределённой вычислительной среде.
      Создайте новый проект Windows Form в Microsoft Visual Studio с именем «RBK». В обозревателе решений выберете пункт «Ссылки» и сделайте клик правой клавишей мыши по нему. В появившемся контекстном меню выберете пункт «Добавить ссылку на службу…»


      В открывшемся окне найдите кнопку «Дополнительно» и сделайте по ней клик левой клавишей мыши.

      В открывшемся окне найдите кнопку «Добавить веб-ссылку…» и сделайте по ней клик левой клавишей мыши.

      В открывшемся окне введите адрес необходимой нам службы «http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx» в поле «URL-адрес» и нажмите клавишу «Enter». Введите «RBKServise» в поле «Имя веб-ссылки» и нажмите кнопку «Добавить ссылку».

      Перейдите в «Панель элементов» — группа «Общие» и сделайте клик правой клавишей мыши по этой группе. В появившемся контекстном меню выберите пункт «Выбрать элементы…».

      В появившемся окне «Выбор элементов панели элементов», выберете вкладку «Компоненты .Net Framework». Найдите компонент «DataGrid» из пространства имен «System.Windows.Forms» и поставьте напротив этого компонента галочку. Нажмите кнопку «ОК».

      После выполнения этих действий, в панели элементов, в группе «Общие» появится новый компонент «DataGrid».

Добавьте его на форму и еще несколько элементов:

  • dateTimePicker1 – дата начала получения курсов валют;
  • dateTimePicker2 — дата конца получения курсов валют;
  • button1 – кнопка запуска получения данных.
ЧИТАТЬ ТАКЖЕ:  Вставка изображения в PictureBox из буфера обмена: Справочник по C#

У вас получится примерно вот такая форма:

      Сделайте двойной клик по компоненту button1 и перейдите в автоматически созданный метод «button1_Click». Добавьте в него приведенный ниже код:

RBKServise.DailyInfo di = new RBKServise.DailyInfo();

System.DateTime DateFrom, DateTo;
DateFrom = dateTimePicker1.Value;
DateTo = dateTimePicker2.Value;

//Вызываем GetCursDynamic для получения таблицы с курсами заданной валютой
DataSet Ds = (System.Data.DataSet)di.GetCursDynamic(DateFrom, DateTo, "R01235");
Ds.Tables[0].Columns[0].ColumnName = "Дата";
Ds.Tables[0].Columns[1].ColumnName = "Вн.код валюты";
Ds.Tables[0].Columns[2].ColumnName = "Номинал";
Ds.Tables[0].Columns[3].ColumnName = "Курс";

dataGrid1.SetDataBinding(Ds, "ValuteCursDynamic");

      Запустите ваш проект, нажав на клавишу «F5». Выберете интервал дат для получения данных и нажмите на единственную кнопку вашей формы. После получения данных у вас получится примерно вот такой вариант:

      Для получения списка кодов поддерживаемых валют данным сервисом, добавьте дополнительно два компонента на форму:

  • Button2 – кнопка запуска получения данных;
  • DataGrid – для вывода данных.

      Сделайте двойной клик левой клавишей мыши по компоненту «Button2» и перейдите в автоматически созданный метод «button2_Click». Добавьте в него следующий листинг:

RBKServise.DailyInfo di = new RBKServise.DailyInfo();
DataSet DSC = (System.Data.DataSet)di.EnumValutes(false); //Получаем список валют
System.Data.DataTable tbl = DSC.Tables["EnumValutes"];
dataGrid2.DataSource = tbl;

      Запустите ваш проект, нажав на клавишу «F5». Нажмите на кнопку получения кодов валют. Если вы все сделали правильно, то у вас получится примерно вот такой вариант:

      Здесь вы можете получить коды валют необходимых для запроса и описание по каждой.

Дополнительную информацию о данной службе вы можете получить на официальном сайте «Банка России» по адресу http://www.cbr.ru/scripts/Root.asp?Prtid=DWS.

Ссылка для скачивания примера: Яндекс.Диск

Получение курсов валют с сайта «Банк России»: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь