Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Программирование для карманных компьютеров - Владимир Волков

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 24 25 26 27 28 29 30 31 32 ... 102
Перейти на страницу:

19. Эти рисунки нужно поместить в каталог проекта и добавить их в проект командой Project ? Add File. В окне, которое будет выведено на экран, нужно выбрать тип файлов All Files (*.*), взвести флажок Add As Related Document, выбрать нужный файл и нажать кнопку ОК. Эту последовательность действий нужно выполнить для каждого рисунка. Добавление файлов к проекту позволит среде автоматически копировать их на устройство и включать в состав поставочного комплекта. После того как файлы будут добавлены к проекту, окно структуры проекта должно выглядеть, как на рис. 3.30.

Рис. 3.30. Окно структуры проекта с файлами изображений.

20. Теперь можно добавить изображения к компоненту ImageList. Для этого в начало метода Form_Load() нужно добавить код, приведенный в листинге 3.16. Листинг 3.16

Dim imLst As ImageList

Set imLst = ImageList1

imLst.Add В«WindowsStart Menuwhite.bmpВ»

imLst.Add В«WindowsStart Menuyellow.bmpВ»

imLst.Add В«WindowsStart Menugreen.bmpВ»

MenuBar1.ImageList = imLst.hImageList

В этом коде создается объектная переменная типа ImageList. Она связывается с компонентом ImageList1, после чего к коллекции рисунков добавляются созданные ранее изображения. Затем остается лишь связать коллекцию рисунков с компонентом MenuBar1. Должен быть указан полный путь к добавляемому рисунку от корневого каталога устройства. Поскольку для проекта в настройках его свойств был задан путь WindowsStart Menu, то для изображений нужно добавить этот путь в виде префикса к имени файла.

21. В тех фрагментах кода, где устанавливалось свойство Caption для кнопок, нужно закомментировать строки установки Caption и вместо них ввести команды присвоения изображений. Поскольку сам ImageList с компонентом MenuBar уже связывался в методе Form_Load, то связывание изображений с кнопками производится простым указанием индекса изображения в коллекции ImageList, как показано в листинге 3.17.

Листинг 3.17

Rem mnuClr1.Caption = В«1В»

mnuClr1.Image = 1

…

Rem mnuClr2.Caption = В«2В»

mnuClr2.Image = 2

…

Rem mnuClr3.Caption = В«3В»

mnuClr3.Image = 3

22. Теперь можно запустить проект и удостовериться, что изображения выведены на поверхность кнопок.

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

24. Прежде всего нужно создать текстовый файл. Достаточно в Блокноте открыть текстовый файл, назвать его phrase.txt и сохранить в каталоге проекта. Содержимое файла приведено в листинге 3.18.

Листинг 3.18

Kak dela

Vsego horoshego

Do vstrechi

how are you

good luck

see you later

25. Этот файл нужно добавить к проекту, как это было сделано с файлами рисунков. Русские фразы написаны транслитерацией, поскольку эмулятор не русифицирован. В случае запуска данной программы на корректно русифицированном Pocket PC 2003 русские фразы можно писать кириллицей.

26. Чтобы загрузить файл, нам понадобятся еще РґРІРµ ActiveX библиотеки – File System Рё Common Dialog. РС… нужно добавить РІ проект, Р° затем разместить РЅР° форме. Библиотека File System РїСЂРё добавлении Рє проекту создает компоненты File Рё FileSystem. Компонент FileSystem дает возможность осуществлять манипуляции СЃ файлами Рё каталогами, такие как создание, удаление, переименование, перемещение, изменение атрибутов. Р’ нашем приложении этот компонент РЅРµ потребуется, РЅР° форме надо разместить только компонент File, который позволяет открыть файл, читать РёР· него Рё записывать информацию РІ файл.

27. После размещения этих компонентов на форме нужно добавить объявления переменных в начало модуля, как это показано в листинге 3.19.

Листинг 3.19

Option Explicit

Dim intText, intInt, intStep, intCount As Integer

Dim varText, varEnText

Dim varStrng As String

Rem Объявляем переменную и связываем ее с объектом File

Dim flFile As File

Set flFile = File1

Rem Объявляем переменную и связываем ее с объектом диалога

Dim fdOpen As CommonDialog

Set fdOpen = CommonDialog1

28. Теперь необходимо создать обработчик события щелчка на пункте меню Открыть. Для этого в уже имеющийся обработчик события Private Sub MenuBar1_ MenuClick нужно добавить еще одну секцию Case. Код будет выглядеть так, как показано в листинге 3.20. Листинг 3.20

Private Sub MenuBar1_MenuClick(ByVal Menu As MenuBarLib.MenuBarMenu)

Select Case Menu.Key

Case В«itExitВ»

App.End

Case В«itOpenВ»

Rem 1

fdOpen.ShowOpen

Rem 2

If fdOpen.FileName <> "" Then

Rem 3

flFile.Open fdOpen.FileName, fsModeInput,В 1

Rem 4

intText = 0

While Not flFile.EOF

intText = intText + 1

flFile.LineInputString

Wend

Rem 5

flFile.Close

flFile.Open fdOpen.FileName, fsModeInput, 1

Rem 6

For intCount = 1 To intText

varText = flFile.LineInputString

If intCount > intText/2 Then varEnText=varEnText +" "+varText

Next

intStep = 1

flFile.Close

Rem 7

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

Rem 8

intStep = 2

flFile.Close

Dim strAr

Dim strSt As String

Rem 9

varEnText = Trim(varEnText)

Rem 10

strAr = Split(varEnText, " ", – 1, vbTextCompare)

Rem 11

intInt = 10000

For intCount = 0 To intInt

On Error Resume Next

List1.AddItem strAr(intCount)

If Err.Number Then

Err.Clear: Exit For

End If

Next

Rem 12

Dim intCount2 As Integer

For intCount = 1 To List1.ListCount

For intCount2 = intCount + 1 To List1.ListCount

If (StrComp(List1.List(intCount), List1.List(intCount2), vbTextCompare) = 0)

Then

List1.RemoveItem (intCount2): intCount2=intCount2-1

End If

Next

Next

End If

End Select

End Sub

Будут рассмотрены те блоки кода, где установлены комментарии.

1) На экран выводится диалог открытия файла.

2) Если диалог открытия файла вернул имя файла, то происходит переход к блоку 3.

3) Открывается файл с переданным именем при помощи объекта File.

1 ... 24 25 26 27 28 29 30 31 32 ... 102
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Программирование для карманных компьютеров - Владимир Волков.
Комментарии