Программирование КПК на Visual Basic .NET
19.03.09Мой Компьютер, №01-02 (432-433), 01.01.2007
Настройка необходимого ПО и первая программа
Прежде чем начать, нам нужно убедиться в наличии всех необходимых программ и компонентов. Как я уже говорил, программирование для карманных компьютеров не поддерживается в Visual Basic .NET 2003 Standard и серии Visual Studio .NET 2005 Express. При инсталляции других версий Visual Studio .NET обратите внимание, чтобы были установлены средства разработки для карманных компьютеров Smart Device Extensions (SDE) и .NET Compact Framework SDK. Свежие SDK можно найти на девелоперских сайтах Microsoft.
Наши первые простенькие программы будем делать на Visual Basic .NET. Этот язык наиболее прост и понятен широкому кругу читателей, а перейти с него на C# не так уж сложно. Для максимальной совместимости советую использовать среду Visual Studio .NET 2003 и библиотеки .NET Compact Framework 1.0 SP3.
Приступим к созданию первой программы. Запускаем Visual Studio, меню File > New > Project, здесь выбираем Visual Basic Projects > Smart Device Application. Откроется окно Smart Device Application Wizard (рис. 1).
Выбираем платформу Pocket PC и тип проекта Windows Application.
Все! Можем начинать работать!
Теперь у нас есть шаблон формы размером 320´240 точек — стандартное разрешение экранов КПК. Если вы планируете создавать приложения для новых моделей с дисплеем 640´480, вам понадобится всего лишь установить SDK для этих устройств и выбрать соответствующий шаблон в Smart Device Application Wizard.
Разместим на форме элементы TextBox, Label и два Button. В окне Properties присвоим им имена txt1, lbl1, btn1 и btn2 соответственно. Добавим элемент InputPanel, который используется для вызова пользователем экранной клавиатуры (еще ее называют SIP — Software Input Panel). Добавляем меню (пока меню не подключено, при работе программы экранная клавиатура остается недоступной). Чтобы оно не пустовало, включим в него раздел Info с вложенным System info, который будет выводить месседжбокс с информацией о версии операционной системы. Аналогично «настольным» программам, процесс создания меню мобильных приложений в Visual Basic .NET так же нагляден и прост.
Двойной щелчок по пустому пространству формы — и мы попадаем в окно Code. В Form1_Load прописываем код:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lbl1.Text = «Input your name:»
btn1.Text = «Hello!»
btn2.Text = «Exit»
txt1.Text = «»
Me.Menu = MainMenu1 ‘подключаем меню
End Sub
Обработка нажатия на кнопку System Info в меню:
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
Dim sVer As String
sVer = System.Environment.OSVersion.ToString ‘определяем версию ОС через класс System.Environment
MsgBox(«Your OS is: » & vbCrLf & sVer) ‘vbCrLf — новая строка
End Sub
Теперь перейдем к кнопке btn1. В событие btn1_Click вписываем:
Private Sub btn1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim sName As String
sName = txt1.Text
MsgBox(«Hello, » & sName)
End Sub
btn2 будет закрывать программу, переспросив пользователя:
Private Sub Btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
Dim sAnsw As String
sAnsw = MsgBox(«Are you sure?», MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation)
If sAnsw = vbYes Then
Me.Close()
End If
End Sub
Теперь посмотрим, что за средства нам даются для работы с аппаратными кнопками — точнее, с четырехпозиционным джойстиком. Когда мы нажимаем на кнопки, программа получает код Keys.F21. Но чтобы определить, какую из четырех позиций занял джойстик, нам понадобится API-функция GetAsyncKeyState(). Когда нажимается кнопка, функция выдает значение меньше 0.
Объявляем API-функцию:
Declare Function GetAsyncKeyState Lib «coredll.dll» Alias «GetAsyncKeyState» (ByVal vKey As Keys) As Short
Обработка происходит в Form1_KeyDown:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If (e.KeyCode = Keys.F21) Then
If (GetAsyncKeyState(Keys.Down) < 0) Then
MsgBox(«You pushed Down button»)
End If
If (GetAsyncKeyState(Keys.Up) < 0) Then
MsgBox(«You pushed Up button»)
End If
If (GetAsyncKeyState(Keys.Right) < 0) Then
MsgBox(«You pushed Right button»)
End If
If (GetAsyncKeyState(Keys.Left) < 0) Then
MsgBox(«You pushed Left button»)
End If
End If
End Sub
Почти готово! Теперь попробуем запустить нашу суперсложную программу. Нажимаем F5 (или кнопку Start) и видим меню подобного вида — рис. 2.
Нам предлагают выбрать тип устройства, на котором будет выполняться наша программа. Последний в списке — Pocket PC Device — требует подключенного «реального» КПК, остальные работают в режиме эмуляции прямо на настольном компьютере. Сразу хочу предупредить, что программа на эмуляторе и на настоящем КПК очень часто работает по-разному, особенно это касается Pocket PC 2002/2003 Emulator. Если у вас под рукой нет КПК, а только старые (2002/2003) эмуляторы, лучше всего скачать свежую версию, которая входит в комплект Visual Studio .NET 2005. Загрузить ее можно, например, отсюда: www.microsoft.com/downloads/details.aspx?FamilyID=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en.
При старте эмулятора мы увидим типичный рабочий стол, знакомый всем пользователям Windows Mobile. Чтобы запустить нашу первую программу, проследуем по адресу Start > Programs > File Explorer. После запуска File Explorer (Проводник) нам нужно зайти в директорию My DeviceProgram Files[название вашего проекта]. Запускаем (рис. 3)!
Как видите, ничего сложного, все почти как в «настольном» программировании.
Установка и распространение программы
Установка программ на КПК производится через Windows Installer (запуск и установка с настольного ПК, требует соединения с наладонником) или редистрибутивный CAB-файл (копируется в память КПК, лишь затем устанавливается). Наиболее простой способ распространения программы начинающего разработчика — CAB-файл. При запуске он автоматически распаковывает файлы вашей программы, устанавливает их в директорию Program Files и самоудаляется.
Чтобы приступить к созданию CAB-файлов, из меню Visual Studio выберите Build > Build Cab file. Теперь в директории, где мы сохранили наш проект, заходим в папку CabDebug и видим там среди прочего такие файлы: TEST1_PPC.ARM.cab, TEST1_PPC.ARMV4.cab, TEST1_PPC.MIPS.cab, TEST1_PPC.SH3.cab, TEST1_PPC.WCE420X86.cab, TEST1_PPC.X86.cab. Здесь «TEST1» — название нашего проекта в Visual Studio.
Если вы читали прошлую статью, то наверняка вспомните, что суффиксы «ARM», «ARMV4», «MIPS» и т.д. в названиях этих cab’ов — тип процессора КПК, на котором будет запускаться программа. Например, на моем HP iPAQ 2210 запустятся только установщики ARM и ARMV4. Новое поколение эмуляторов имитирует работу мобильных процессоров и, скорее всего, без проблем запустит ARM. При распространении программ обычно включают версии для всех процессоров, и пользователь сам волен выбирать, что ему ставить. Кстати, одно из главных отличий Windows Installer от CAB-файлов: первый самостоятельно определяет тип процессора и сразу устанавливает нужный дистрибутив.
Вообще, если вы собрались серьезно заняться написанием и распространением (например, через Интернет) программ для КПК, имейте в виду, что подготовка установочных дистрибутивов — дело непростое, требующее внимательности и кропотливости. Подробную информацию об инсталлерах можно найти на Microsoft MSDN.
На сегодня все! Теперь у вас есть некоторое общее представление о программировании КПК на Visual Basic .NET. В следующих статьях мы будем изучать тонкости программирования наладонников! До встречи!
Сергей ЖУК
Web-droid редактор
вологість:
тиск:
вітер:
Наушники Sony WH-1000XM5: звук вне времени
Полноразмерные наушники Sony WH-1000XM5 уже достаточно долго присутствуют на рынке, но шума, простите, наделали не так много. Разберемся почему, ведь еще несколько лет назад серия Sony WH-1000XM была одной из самых популярных.
Motorola выпустила две модели Bluetooth-наушников — Moto Buds и Buds+
Bluetooth Motorola наушникиКомпания Motorola представила новую серию TWS-наушников. Базовую модель назвали Moto Buds, а более продвинутую по аудио-настройке — Moto Buds+.
Представлен электрокар Tesla Model 3 Performance: 510 л.с., 2,9 с до 100 км/ч, запас хода в 528 км
Tesla автомобиль электротранспортTesla Model 3 Performance оснащена режимом Track Mode V3, который интегрирует управление двигателем, подвеской, охлаждением силового агрегата и контроллером динамики для оптимальной производительности