- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Программирование для карманных компьютеров - Владимир Волков
Шрифт:
Интервал:
Закладка:
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.
4)В Рнициализируется переменная intText, Рё РІ нее считывается количество строк РІ файле.
5) После прохождения файла до конца при помощи функции LineInputString его необходимо открыть заново.
6) Считывается «английская» часть файла одной строкой в переменную varEnText.
7) Первая русская фраза выводится в текстовое поле Label1, а соответствующая ей английская фраза – в текстовое поле Label2.
8) Счетчик фраз увеличивает свое значение.
9) Пробелы справа и слева удаляются.
10) Строка varEnText разбивается на слова, которые помещаются в массив strAr. Массив динамический, поэтому нельзя сразу сказать, сколько в нем элементов.
11) Значение intInt предполагает, что в массиве не более 10 000 элементов. Каждый элемент массива заносится в список List1 до тех пор, пока не будет достигнут конец массива. Следующий шаг вызывает исключительную ситуацию, которая перехватывается при помощи блока On Error Resume Next. Проверка значения Err.Number позволяет определить наличие исключительной ситуации, вызов Err.Clear очищает флаг ошибки, а оператор Exit For завершает цикл.
12) В последнем блоке кода из списка удаляются все повторяющиеся слова.
29. На этом этапе программа уже выводит на экран русскую фразу и список английских слов. Осталось написать обработчики для работы с кнопками.
30. Щелчок стилусом на слове в списке добавляет это слово к предложению, составляемому в поле Label3. Соответствующий код приведен в листинге 3.21.
Листинг 3.21Private Sub List1_Click()
varStrng = Label3.Caption
Label3.Caption = Label3.Caption + List1.List(List1.ListIndex) + " "
End SubПри этом предыдущее содержимое Label3 запоминается в переменной varStrng.
31. Кнопка Сброс просто присваивает свойству Caption компонента Label3 пустую строку, как это показано в листинге 3.22.
Листинг 3.22Private Sub Command2_Click()
Label3.Caption = ""
End Sub32. Кнопка ? отменяет ввод последнего слова при помощи кода, приведенного в листинге 3.23. Листинг 3.23
Private Sub Command3_Click()
Label3.Caption = varStrng
End Sub33. Нажатие Рё отпускание стилуса проверяются РЅР° РєРЅРѕРїРєРµ Подсказка. РџСЂРё нажатии стилусом 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 Sub34. Обработка щелчка РЅР° РєРЅРѕРїРєРµ Принять отличается некоторой сложностью. Надо РЅРµ только проверить правильность набора фразы Рё сообщить РѕР± этом пользователю, РЅРѕ Рё перейти Рє следующей фразе, если предыдущая была набрана удачно. Рто реализуется РїСЂРё помощи РєРѕРґР°, приведенного РІ листинге 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 Sub35. На этом этапе приложение уже работает практически полностью. Осталось разобраться с командой меню Редактирование шрифта и его подменю. Весь код реакций на выбор одного из пунктов подменю команды Редактирование шрифта будет помещен в событие 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 If36. На этом можно закончить работу над кодом приложения. Оно полнофункционально, хотя далеко от совершенства. Можно было бы сделать еще достаточно много. Нужно вынести в подпрограммы повторяющийся код, сами подпрограммы следует вынести в отдельный модуль. Можно развивать функциональность, вести подсчет статистики, добавить редактор файлов. Можно развивать дизайн и добавить окно-заставку при запуске, справочную систему и окно О программе. Все это, если у вас будет желание, вы можете проделать сами, ведь надо же на чем-то тренироваться самостоятельно.

