Конвертер валют с использованием библиотеки Sencha Ext JS

Автор работы: Пользователь скрыл имя, 29 Октября 2013 в 19:20, отчет по практике

Краткое описание

Разработка страницы сайта, предназначенной для конвертирования валют. Основанием для данной разработки служит индивидуальное задание, выданное руководителем практики.
Приложение должно обладать следующими функциональными возможностями:
- быстро и легко пересчитывать денежные единицы из одной в другую;
- предоставлять результаты пересчета на основании официального сайта ЦБ РФ на текущую дату.

Содержание

1 Техническое задание 3
1.1 Введение 3
1.2 Основание для разработки 3
1.3 Назначение разработки 3
1.5 Требования к программному изделию 3
2 Основная часть 4
2.1 Постановка задачи 4
2.3 Выбор и обоснование метода решения 4
2.5 Организация взаимодействия с пользователем и конвертирования валют. 4
Заключение 6
Список использованных источников 7
Приложения 8
Приложение 1. 8
Приложение 2. 11
Приложение 3. 12

Вложенные файлы: 1 файл

Практика.docx

— 101.19 Кб (Скачать файл)

Министерство образования и науки Российской Федерации                              ФГБОУ ВПО “Удмуртский государственный университет”                                        факультет информационных технологий и вычислительной техники                         кафедра теоретических основ информатики

 

 

 

 

 

 

 

 

 

 

 

 

 

Отчет по практике

на тему «Конвертер валют с использованием библиотеки Sencha Ext JS»

 

 

 

 

Выполнила:

студентка группы 39-41(э)

Блинова Светлана Николаевна

Руководитель:

Доцент кафедры ТОИ

Гребнев Андрей Николаевич

 

 

 

 

Ижевск 2013

 

Оглавление

 

1 Техническое  задание 3

1.1 Введение 3

1.2 Основание  для разработки 3

1.3 Назначение  разработки 3

1.5 Требования  к программному изделию 3

2 Основная  часть 4

2.1 Постановка  задачи 4

2.3 Выбор и  обоснование метода решения 4

2.5 Организация   взаимодействия с пользователем  и конвертирования валют. 4

Заключение 6

Список использованных источников 7

Приложения 8

Приложение 1. 8

Приложение 2. 11

Приложение 3. 12

 

 

1 Техническое задание

1.1 Введение

 

Разработка страницы сайта, предназначенной для конвертирования валют.

1.2 Основание для разработки

 

Основанием для данной разработки служит индивидуальное задание, выданное руководителем практики.

Исполнитель: Студентка группы 39-51 Блинова Светлана Николаевна.

1.3 Назначение разработки

 

Страница предназначена для конвертирования валют по данным Центрального банка Российской Федерации.

1.5 Требования к программному изделию

 

Приложение должно обладать следующими функциональными возможностями:

- быстро и легко пересчитывать денежные единицы из одной в другую;

- предоставлять результаты  пересчета на основании официального  сайта ЦБ РФ на текущую дату.

 

2 Основная часть

2.1 Постановка  задачи

 

Поставленная задача предполагает создание страницы сайта, представляющей собой калькулятор валютных курсов. Пользователю предлагается выбрать имеющуюся и нужную валюты из списка. После отправки данных пользователь получает результат конвертирования. При создании использовать библиотеку Sencha Ext JS.

2.3 Выбор и обоснование метода решения

 

Для взаимодействия с пользователем  использовалась библиотека Sencha Ext JS (http://www.sencha.com/products/extjs). Выбор данной библиотеки обоснован большими функциональными возможностями.

Для обработки введенных  пользователем данных и конвертирования  валют был написан php-скрипт. Причины выбора данного языка:

  • простота использования
  • высокая скорость выполнения программного кода
  • богатая функциональность и распространение исходных кодов на основе лицензии PHP
  • наличие ядра и подключаемых модулей, расширений: для работы с базами данных и другое.

2.5 Организация взаимодействия с пользователем и конвертирования валют.

 

Взаимодействие с пользователем осуществляется посредством библиотеки Sencha Ext JS. Для ввода данных создано окно с формой (Рисунок 1).

Рисунок 1

Для конвертирования валют был написан php-скрипт (Приложение 2.). Курсы валют извлекались из базы данных, хранящей текущие курсы валют по данным Центрального банка РФ.

Для сбора информации о  курсах валют с сайта Центрального Банка России был использован  XML файл, предоставляемый сайтом Центрального Банка России, url: http://www.cbr.ru/scripts/XML_daily.asp. Пользование данного сервиса является бесплатным и общедоступным в полном объеме. Структура документа фиксирована.

Для примера, рассмотрим часть  XML файла, содержащего курсы валют:

<Valute ID="R01010">

<NumCode>036</NumCode>

<CharCode>AUD</CharCode>

<Nominal>1</Nominal>

<Name>Австралийский доллар</Name>

<Value>32,6790</Value>

</Valute>

  Данные из XML файла были извлечены при помощи php-скрипта и занесены в базу данных. Данные извлекались при помощи регулярных выражений, опираясь на фиксированную структуру XML файла:

$cont = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");

$pattern = "/<NumCode>(.*?)<\/NumCode>\s*<CharCode>(.*?)<\/CharCode>\s*<Nominal>(.*)<\/Nominal>\s*<Name>(.*)<\/Name>\s*<Value>(.*)<\/Value>/im";

$xml = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp");

$cnt =  preg_match_all($pattern,$cont,$matches);

… 

Заключение

 

В процессе работы над индивидуальным заданием в период практики было написано приложение, отвечающее своей функциональностью поставленным задачам.

В процессе детального разбора  задачи приобретался опыт по разработке алгоритмов решения, работе с базами данных, программированию и навыки работы с библиотекой Sencha Ext JS.

Таким образом, цели, поставленные в период прохождения практики, были достигнуты.

 

 

 

Список  использованных источников

 

  1. Sencha[электронный ресурс] – Режим доступа: http://www.sencha.com/products/extjs/, свободный – Загл. с экрана (20.07.2013)
  2. METANIT.COM[электронный ресурс] – Режим доступа: http://metanit.com/web/extjs/, свободный – Загл. с экрана (21.07.2013)

 

 

 

 

 

 

 

Приложения

Приложение 1.

 

Форма для взаимодействия с пользователем 

Ext.onReady(function(){

    var store = Ext.create('Ext.data.Store', {

        fields: ['name'],

        data:[

             {name: 'Российский рубль'},

             {name: 'Доллар США'},

             {name: 'Евро'},

  {name: 'Японские иены'},

         …

            {name: 'Австралийский доллар'}

        ]

    });

 

    var loginForm=Ext.create('Ext.form.Panel',{

        title: 'Конвертер',

        width: 350,

        height:200,

        bodyPadding:10,

        layout: 'anchor',

    defaults: {

        anchor: '100%'

    },

        renderTo: Ext.getBody(),

        items: [{ 

                xtype: 'textfield',

                fieldLabel: 'Имеющаяся влюта',

                name: 'amount'

            },

                xtype: 'combobox',

 

store: store,

                name: 'val',

displayField: 'name'

            },

            {

                xtype: 'combobox',

                name: 'val1',

                fieldLabel: 'Нужная валюта',

store: store,

displayField: 'name'

            },

        {

xtype: 'button',

            text: 'Оправить',

margin: '20 0 0 105',

            handler: function() {

                loginForm.getForm().submit({

                url: 'convert.php',

                success: function(form, action){

                            Ext.MessageBox.alert('Результат ',action.result.message);

                },

                failure: function(form, action){

                            Ext.MessageBox.alert('Ошибка перевода ',action.result.message);

                        }

            });

            }

        }]

    });

});

 

 

Приложение 2.

 

<?php

include ('config.php');

    $val = $_POST['val'];

$val1 = $_POST['val1'];

$amount = $_POST['amount'];

$c=mysql_query("SELECT description, code FROM currency WHERE currency.description like '$val'");

$code = mysql_fetch_array($c);

$q=mysql_query("SELECT rate_date, rate_value FROM exchange WHERE rate_date = CURDATE() AND code like $code[code]");

$c1=mysql_query("SELECT code, description, charcode FROM currency WHERE currency.description like '$val1'");

$code1 = mysql_fetch_array($c1);

$p=mysql_query("SELECT rate_date, rate_value FROM exchange WHERE rate_date = CURDATE() AND code like $code1[code]");

 

 

$f = mysql_fetch_array($q);

$x = mysql_fetch_array($p);

 

$quotient = round(($amount*($f[rate_value])/$x[rate_value]),4);

echo '{"success": true, "message": "Результат: ' . $quotient. ' ' . $code1[charcode].'"}';

 

?>

Приложение 3.

 

Иллюстрации интерфейса сайта.

Рисунок 2 - форма ввода данных

 

Рисунок 3 - вывод результата конвертирования


Информация о работе Конвертер валют с использованием библиотеки Sencha Ext JS