Свободно конвертируемые знания

 | 15.33

  Мой Компьютер, №03 (434), 08.01.2007

Человеку, не знакомому с программированием мобильных устройств, может показаться, что это занятие очень сложное и хлопотное. До некоторых пор так, наверное, и было. Ведь с развитием и усложнением мобильных устройств возрастало требование к качеству и уровню программного обеспечения. И тут как нельзя кстати пришлась идея промежуточного кода, которая очень упростила разработку программ. Этим и объясняется популярность программ, написанных на Java. Видя перспективность данной технологии, фирма Microsoft разрабатывает собственную ее реализацию под названием .NET Framework, которая предназначена для разработки Windows-приложений. Также создается .NET Compact Framework, используемая для написания программного обеспечения под ОС Pocket PC 2003 или более позднюю версию. На данный момент уже разработана .NET Compact Framework 2.0, которая входит в состав Visual Studio 2005. Что ж, давайте окунемся в мир мобильных технологий.

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

Перевод из одной системы измерения в другую происходит по формуле y=x*m+s, где х — значение физической величины в исходной системе измерения; у — значение физической величины в новой системе измерения; m, s — числовые коэффициенты. Для обратного конвертирования используем формулу x=y*m1+s1. Ниже в таблице 1 приведены значения коэффициентов, которые будут использоваться в нашем приложении.

Запускаем Visual Studio и создаем новый проект (File > New > Project). Выбираем тип проекта Visual C#, а в списке шаблонов — шаблон Device Application. Назовем наш проект Konverter (рис. 1). После того как мастер создаст все необходимые файлы, мы увидим не привычную нам форму, а изображение карманного компьютера. Сама же форма будет располагаться на его экране. Также мастер автоматически добавит в проект меню. На следующей схеме показана структура меню, которую вам нужно будет создать (рис. 2).

Теперь добавим следующие компоненты: label1, label2 — названия систем измерения; textBox1, textBox2 — используются для ввода и вывода конвертируемых величин; button1 — запускает операцию конвертирования; button2, button3 — меняют направление конвертирования. Разместите эти компоненты и задайте их свойство Text так, как показано на рис. 3. Дальше добавим в описание класса формы следующие переменные:

private double m = 1; //множитель для прямого конвертирования

private double m1 = 1; //множитель для обратного конвертирования

private double s = 0; //слагаемое для прямого конвертирования

private double s1 = 0; //слагаемое для обратного конвертирования

Теперь нам нужно добавить обработчики события Click для кожного пункта меню. Я приведу пример только для пункта меню Фаренгейт-Цельсий, остальные обработчики пишутся аналогично, нужно только установить соответствующие коэффициенты, которые приведены в таблице.

private void menuItem5_Click(object sender, EventArgs e)

{

//очищаем текстовые поля

textBox1.Text = «»;

textBox2.Text = «»;

//устанавливаем значения надписей

label1.Text = «Фаренгейт»;

label2.Text = «Цельсий»;

//присваиваем значения коэффициентам

s = -17.777778;

m = 0.555556;

s1 = 32;

m1 = 1.8;

}

Дальше добавляем обработчик события Click для кнопок button1 и button2, для button3 обработчик точно такой же, как и для button2.

private void button1_Click(object sender, EventArgs e)

{

try

{

//выполняем конвертирование

textBox2.Text = (Double.Parse(textBox1.Text) * m + s).ToString();

}

catch (Exception exc)

{

//если ошибка, выводим сообщение

MessageBox.Show(exc.Message);

}

}

private void button2_Click(object sender, EventArgs e)

{

//объявляем временные переменные

string l_tmp = label1.Text;

double s_tmp = s;

double m_tmp = m;

//очищаем текстовые поля

textBox1.Text = «»;

textBox2.Text = «»;

//меняем местами текст надписей

label1.Text = label2.Text;

label2.Text = l_tmp;

//меняем местами значения переменных s и s1

s = s1;

s1 = s_tmp;

//меняем местами значения переменных m и m1

m = m1;

m1 = m_tmp;

}

Осталось только запустить нашу программу. Нажимаем F5 и в окне Deploy Konverter (рис. 4) выбираем Pocket PC 2003 SE Emulator (если у вас нет КПК и вы хотите использовать эмулятор), после этого жмем Deploy. Немного подождав, мы сможем насладиться результатом (рис. 5).

Как видите, процесс написания приложений для КПК практически ничем не отличается от написания Windows-приложений. Но это при условии, что у вас ОС от фирмы Microsoft, для остальных платформ придется искать решения от других разработчиков.

Владимир ДУБИЦКИЙ

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *