Конвертер валют з точними курсами з інтернету - Delphi приклади - Програмування на Delphi
Майже всі знають, що таке конвертер валют. Є багато онлайн ресурсів, де можете порахувати деяку суму доларів у рублях тощо. Однак, щоб провести таку операцію Вам потрібно відкривати свій браузер, заходити на цей портал і після вводити свої цифри. Але я пропоную самому написати власну програму, яка б запускалася прямо з робочого столу, наприклад, і відразу видавала б Вам результати. Причому курси валют програма використовуватиме останні за даними ЦБ РФ. Як це зробити? Та не так уже й складно. Просто пройдіться по пунктах і зрозумієте, що Ви зможете створювати подібні програми.
1. Підготовка форми
Відкрийте середовище Delphi та створіть новий проект (new-> application). Потім помістіть на форму слід. компоненти:
Edit1, edit2, edit3 - для введення/виведення грошових одиниць;
Button1, button2 - (Докладно розглянемо в пункті 2, 3);
Label1, label2 - для виведення інформації про курси;
IdHTTP1 (знаходиться на сторінці Indy Clients), memo1
Розташуйте їх формою як показано малюнку.

А зараз переходимо до складної частини нашої роботи. Насамперед оголосимо глобальні змінні 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;beginmemo1.Lines.Text:=idhttp1.get('http://www.currencyhistory.ru/');ifmemo1.Lines.text<>''then begins:='USD: '+pars('USD' ,memo1.text,' |
Пояснюю. Після натискання кнопки Ваш проект з'єднує з Веб-вузлом і завантажує в memo1 HTML код сторінки. Потім, завдяки нашій функції PARS, змінну s присвоюється значення курсів (виглядає приблизно так: «USD: 8.8888 EUR: 8.8888»). Далі цей рядок, укладений у змінну s обробляється за допомогою циклу for, який у свою чергу замінює символи точок (.) на коми (,). Думаю, далі вже зрозуміло: змінна usd зберігає курс долара з цього рядка, а змінна eur – курс євро. І label1 та ..2 виводять ці інформації.
P.S. У наведеній нижче картинці можете дізнатися, як знайти ті комбінації символів, між якими знаходиться Ваш фрагмент тексту. У разі курси валют.

3. Перетворення вартості однієї валюти на іншу
Після того, як Ви проробили два етапи, і Ваша програма навчилася отримувати точні цифри курсів, залишилося Вам додати останню, найголовнішу функцію: конвертацію валют. Власне, це і буде Вашим останнім кроком, і програмабуде готова.
І так, знову відкривайте форму і цього разу клацніть по кнопці Переклад. Думаю, Ваші математичні навички вже дали зрозуміти, що перетворення доларів у рублів становитиме твір курсу на суму першої валюти. Значить так і пропишемо в коді: