Чтение онлайн

на главную - закладки

Жанры

Программирование для карманных компьютеров

Волков Владимир

Шрифт:

При этом предыдущее содержимое Label3 запоминается в переменной varStrng.

31. Кнопка Сброс просто присваивает свойству Caption компонента Label3 пустую строку, как это показано в листинге 3.22.

Листинг 3.22

Private Sub Command2_Click

Label3.Caption = ""

End Sub

32. Кнопка ? отменяет ввод последнего слова при помощи кода, приведенного в листинге 3.23. Листинг 3.23

Private Sub Command3_Click

Label3.Caption = varStrng

End Sub

33. Нажатие и отпускание стилуса проверяются на кнопке Подсказка. При нажатии стилусом Label2 выводится поверх Label3, а при отпускании снова перемещается на задний план. Это реализуется при помощи кода, приведенного в листинге 3.24. Листинг 3.24

Private Sub Command4_MouseDown(button, shift, x, y)

Label2.ZOrder vbBringToFront

End Sub

Private Sub Command4_MouseUp(button, shift, x, y)

Label2.ZOrder vbSendToBack

End Sub

34. Обработка

щелчка на кнопке Принять отличается некоторой сложностью. Надо не только проверить правильность набора фразы и сообщить об этом пользователю, но и перейти к следующей фразе, если предыдущая была набрана удачно. Это реализуется при помощи кода, приведенного в листинге 3.25. Листинг 3.25

Private Sub Command1_Click

If intText <> 0 Then

If StrComp(Trim(Label2.Caption), Trim(Label3.Caption), vbTextCompare) = 0 Then

MsgBox «Ай, малодец! Получилось! Следующая фраза», vbOKOnly

flFile.Open fdOpen.FileName, fsModeInput, 1

For intCount = 1 To intText

varText = flFile.LineInputString

If intCount = intStep Then Label1.Caption = varText

If intCount = intStep + intText / 2 Then Label2.Caption = varText

Next

flFile.Close

Label3.Caption = ""

If intStep > intText / 2 Then

MsgBox «Вы закончили упражнение», vbOKOnly

App.End

End If

intStep = intStep + 1

Else

MsgBox «He получилось, попробуйте еще раз», vbOKOnly

End If

End If

End Sub

35. На этом этапе приложение уже работает практически полностью. Осталось разобраться с командой меню Редактирование шрифта и его подменю. Весь код реакций на выбор одного из пунктов подменю команды Редактирование шрифта будет помещен в событие MenuBarl_MenuClick и будет обрабатываться при помощи конструкций Case, как это показано в листинге 3.26. Листинг 3.26

Case «itBold»

If mnuFile.Items.Item(1). SubItems(1). Caption = «Полужирный» Then

Label1.FontBold = True

Label2.FontBold = True

Label3.FontBold = True

List1.FontBold = True

mnuFile.Items.Item(1). SubItems(1). Caption = «*Полужирный»

Else

Label1.FontBold = False

Label2.FontBold = False

Label3.FontBold = False

List1.FontBold = False

mnuFile.Items.Item(1). SubItems(1). Caption = «Полужирный»

End If

Case «itItal»

If mnuFile.Items.Item(1). SubItems(2). Caption = «Наклонный» Then

Label1.FontItalic = True

Label2.FontItalic = True

Label3.FontItalic = True

List1.FontItalic = True

mnuFile.Items.Item(1). SubItems(2). Caption = «*Наклонный»

Else

Label1.FontItalic = False

Label2.FontItalic = False

Label3.FontItalic = False

List1.FontItalic = False

mnuFile.Items.Item(1). SubItems(2). Caption = «Наклонный»

End If

Case «it8»

If mnuFile.Items.Item(1). SubItems(3). SubItems(1). Caption = «8» Then

Label1.FontSize = 8

Label2.FontSize = 8

Label3.FontSize = 8

List1.FontSize = 8

mnuFile.Items.Item(1). SubItems(3). SubItems(1). Caption = «*8»

mnuFile.Items.Item(1). SubItems(3). SubItems(2). Caption = «10»

mnuFile.Items.Item(1). SubItems(3). SubItems(3). Caption = «12»

End If

Case «it10»

If mnuFile.Items.Item(1). SubItems(3). SubItems(2). Caption = «10» Then

Label1.FontSize = 10

Label2.FontSize = 10

Label3.FontSize = 10

List1.FontSize = 10

mnuFile.Items.Item(1). SubItems(3). SubItems(1). Caption = "8"

mnuFile.Items.Item(1). SubItems(3). SubItems(2). Caption = «*10»

mnuFile.Items.Item(1). SubItems(3). SubItems(3). Caption = «12»

End If

Case «it12»

If mnuFile.Items.Item(1). SubItems(3). SubItems(3). Caption = «12» Then

Label1.FontSize = 12

Label2.FontSize = 12

Label3.FontSize = 12

List1.FontSize = 12

mnuFile.Items.Item(1). SubItems(3). SubItems(1). Caption = "8"

mnuFile.Items.Item(1). SubItems(3). SubItems(2). Caption = «10»

mnuFile.Items.Item(1). SubItems(3). SubItems(3). Caption = «*12»

End If

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

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

Поставка приложений eVB

Создание приложений для эмулятора – это, конечно, увлекательное занятие, но рано или поздно приходит момент, когда приложение, опробованное на эмуляторе, необходимо поставить на настоящее устройство. В этой книге не будут рассматриваться многочисленные инструменты сторонних фирм, позволяющие создавать инсталляционные пакеты. Стоит обратить внимание на «штатный» мастер создания пакетов установки, который запускается при помощи команды меню Tools ? Remote Tools ? Application Install Wizard.

После запуска этого мастера нужно выполнить простую последовательность действий.

1. Нажать кнопку Далее.

2. Указать полный путь к файлу проекта. ebp

3. Указать полный путь к скомпилированному приложению, которое представлено файлом с расширением. vb. Скорее всего, этот файл будет отсутствовать в каталоге проекта. Чтобы он там появился, необходимо выполнить команду File ? Make Project.vb.

4. Указать полный путь к папке, в которой будет создаваться установочный комплект. Если папка с таким именем отсутствует, то она будет создана. В этом примере будет использоваться папка C: \MyInstall.

5. Взвести флажок Arm 1100 (4К) v 3.00.

6. Взвести флажки для библиотек, которые будут включены в состав проекта и автоматически установлены и зарегистрированы на устройстве. Библиотеки, компоненты которых использовались в проекте, будут выбраны автоматически.

7. Указать, какие дополнительные файлы должны быть установлены вместе с проектом. В рассматриваемом проекте это будут файлы white.bmp, green.bmp, yellow.bmp и phrase.txt. Каждый раз при добавлении одного из этих файлов, будет отображаться диалоговое окно с вопросом Is this a System file? Следует ответить на него отрицательно, и файлы будут установлены в каталог проекта. Если ответить «Да», то соответствующий файл будет установлен в каталог Windows на устройстве. Если создается инсталляционный пакет для Pocket PC 2002, то нужно снять флажок Include Device Runtime in Cab file. В случае создания пакета для Pocket PC 2003 нужно, наоборот, взвести этот флажок, поскольку в операционную систему Pocket PC 2003 не входит VB.

8. Теперь необходимо заполнить 4 поля. В поле Default Install Directory указывается имя каталога, в который будет установлено приложение. Для рассматриваемого случая нужно использовать значение EnPhrase. В поле Application Name указывается имя, под которым приложение будет зарегистрировано на устройстве. Для этого поля тоже нужно использовать значение EnPhrase. В поле Description задается краткое описание проекта. В поле Company Name указывается наименование компании, разработавшей приложение. Приложение будет установлено в каталог, имя которого будет состоять из имени приложения и наименования компании.

9. На завершающем этапе нужно просто нажать кнопку Create Install. На этом создание инсталляционного пакета будет завершено.

Созданный пакет можно будет найти в каталоге C: \MyInstall\CDl. Если установить сейчас приложение на устройство, то оно вряд ли будет работать. Скорее всего, будет отображено сообщение о том, что файл не найден. Все дело в том, что приложение не будет установлено в каталог \Windows\Start Menu\, а в приложении есть прямая ссылка на этот каталог. Именно оттуда загружаются изображения. Это довольно часто встречающаяся проблема для тех, кто начинает программировать на eVB. Решение состоит в том, чтобы переписать указанный фрагмент так, как показано в листинге 3.27.

Вызов функции Арр. Path позволяет получить текущий путь к каталогу, в котором установлено приложение.

Если приложение устанавливается на русифицированный Pocket PC, то можно переписать файл phrase.txt, так чтобы русская его часть была написана кириллицей. После этого нужно заново создать установочный пакет и протестировать его, запустив из каталога C: \MyInstall\CD1 файл Setup.exe.

Листинг 3.27

Dim imLst As ImageList

Set imLst = ImageList1

MsgBox App.Path, vbOKOnly

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит