Практически все знают, что такое конвертер валют. Есть много онлайн ресурсов, где можете посчитать некоторую суму долларов в рублях и т.д. Однако, чтобы провести такую операцию, Вам нужно открывать свой браузер, заходить на этот портал и после вводить свои цифры. Но я предлагаю самому написать собственную программу, которая запускалась бы прямо с рабочего стола, например, и сразу выдавала бы Вам результаты. Причем курсы валют программа будет использовать последние по данным ЦБ РФ. Как это сделать? Да не так уж и сложно. Просто пройдитесь по пунктам и поймете, что Вы сможете создавать подобного рода программы. 1. Подготовка формыОткройте среду Delphi и создайте новый проект (new -> application). Затем поместите на форму след. компоненты: Edit1, edit2, edit3 — для ввода/вывода денежных единиц; Button1, button2 — (подробно рассмотрим в пункте 2, 3); Label1, label2 — для вывода информации о курсах; IdHTTP1 (находится на странице Indy Clients), memo1
— (подробно остановимся в пункте 2);
Расположите их по форме как показано на рисунке.
А теперь переходим к сложной части нашей работы. Первым делом объявим глобальные переменные usd и eur. var Form1: TForm1; usd, eur: currency; |
Далее зададим первоначальные параметры. Для этого в событии OnCreate формы пропишем следующее: procedure TForm1.FormCreate(Sender: TObject); begin usd:=30.2065; eur:=40.4314; label1.Caption:='USD: '+floattostr(usd); label2.Caption:='EUR: '+floattostr(eur); memo1.visible:=false; edit1.Text:=''; edit2.Text:=''; edit3.Text:=''; end; |
2. Получение точного курса ЦБ РФ из интернетаЧтобы получить точные курсы валют на сегодняшний день мы воспользуемся функцией Pars (); и сайтом www .currencyhistory .ru, где можем получить свежую информацию о денежных единицах.
Сейчас Вам нужно добавить на проект функцию Pars. Если Вы не знаете как это сделать, тогда советую воспользоваться этой статьей. Надеюсь, у Вас не возникнет проблем с этим.
А теперь открывайте свою форму и кликайте два раза на кнопку Курсы и в появившемся окне пропишите следующее: procedure TForm1.Button2Click(Sender: TObject); var i: byte; s: string; begin memo1.Lines.Text:=idhttp1.get('http://www.currencyhistory.ru/'); if memo1.Lines.text<>'' then begin s:='USD: '+pars('<b> USD </b>',memo1.text,'<')+ ' EUR: '+pars('<b> EUR </b>',memo1.text,'<')+'`'; for i:=1 to length(s) do if s[i]='.' then s[i]:=','; usd:=strtofloat(pars('USD: ',s,' EUR: ')); eur:=strtofloat(pars(' EUR: ',s,'`')); label1.Caption:='USD: '+floattostr(usd); label2.Caption:='EUR: '+floattostr(eur); end; end; |
Поясняю. По нажатию кнопки Ваш проект производит соединение с Веб-узлом и загружает в memo1 HTML код страницы. Потом, благодаря нашей функции PARS, в переменную s присваивается значения курсов (выглядит примерно так: «USD: 8.8888EUR: 8.8888»). Далее эта строка, заключенная в переменную s обрабатывается с помощью цикла for, который в свою очередь заменяет символы точек (.) на запятые (,). Думаю, дальше уже понятно: переменная usd сохраняет в себе курс доллара из этой строки, а переменная eur – курс евро. И label1 и ..2 выводят эти информации. P.S. В приведенной ниже картинке можете узнать, как найти те самые комбинации символов, между которыми находится Ваш фрагмент текста. В данном случае курсы валют. 3. Преобразование стоимости одной валюты в другойПосле того как Вы проделали два этапа, и Ваша программа научилась получать точные цифры курсов, осталось Вам добавить последнюю, самую главную функцию: конвертацию валют. Собственно говоря, это и будет Вашим последним шагом, и программа будет готова. И так, снова открывайте форму и на этот раз кликайте по кнопке Перевод. Думаю, Ваши математические навыки уже дали понять, что преобразование долларов в рублей будет составлять произведение курса на сумму первой валюты. Значит так и пропишем в коде: procedure TForm1.Button1Click(Sender: TObject); begin if edit1.text<>'' then begin edit2.Text:=floattostr(strtofloat(edit1.Text)*usd)+'p'; edit3.Text:=floattostr(strtofloat(edit1.Text)*eur)+'p'; end else begin edit2.Text:=''; edit3.Text:=''; end; end; |
Теперь компилируйте Ваш проект, проверьте, все ли там правильно работает. Если все верно, то можете улыбнуться чувством гордости, что Вы научились создавать программу, которая работает напрямую с интернетом. Успехов Вам в создании новых программ!
Подпишись, чтобы получать свежие исходники!
Нравится
|