Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Русский_Проект: Изучение Visual Basic


Информационный Канал Subscribe.Ru

Вступление
Задачи
eMbedded Visual Basic
Справочник по VB
Функции API


Вступление

Здравствуйте!
Пришло лето. Время каникул и отпусков. Счастливого вам отдыха!

Задачи

В прошлой рассылке вам было предложено две задачки. Сначала о задачке с цифрами. Многие прислали правильные ответы. Только я не понял, причем тут бейсик. Ясно, что задачка решалась на бумажке. А цель задания была совсем другой - составить программу решения данного задания. Никто не справился. А теперь позволю себе небольшое отступление. Многим так понравилось решать эти задачки, что обратились ко мне просьбой прислать еще. Меня всегда удивляли подобные просьбы. Иметь доступ к интернету и просить кого-то о чем то? Для меня это нонсент. Я, ради интереса, зашел на поисковый сервер и в строке поиска ввел Одинаковым буквам соответствуют одинаковые цифры и мне вывалилось несколько десятков ссылок с подобными задачами. И не надо ждать ответа от кого-то. Ну а для очень ленивых - несколько подобных задач. Условие прежнее - решить задачу с помощью VB

 ВЕТКА + ВЕТКА = ДЕРЕВО

 SEND
+
 MORE
-----
MONEY


 РЫБА
+
 ДЕВА
--------
 БРАК

 ОВЕН
+
  ЛЕВ
--------
 СОЮЗ

 КРЮЧОК
+
  НИТКИ
-----------
 КОСТЮМ

 АИСТ
+
 СОВА
 -------
ПТИЦЫ

 ЯГУАР
+
  РЫСЬ
--------
 ЗВЕРИ

 ДВА
+
 ТРИ
------
ПЯТЬ

Ну а задачку про трех рыбаков никто не решил :-( А ответа я не дам. Думайте сами.

eMbedded Visual Basic

Недавно я стал обладателем карманного компьютера на платформе PocketPC 2002 (Windows CE). Естественно, меня заинтересовало, а как писать программы для этой игрушки. Мои исследования просто поразили меня. Оказывается для разработки программ используется бесплатный продукт от Майкрософт eVisual Tools, в состав которой входит eVC++ и eVB! Причем это практически знакомый всем нам обычный Visual Basic 6.0, только немного упрощенный и урезанный. Просто мечта для начинающего программера! Наверное, таким был VB 1.0? Я так увлекся написанием своих старых программ, что забросил свой любимый взрослый бейсик. И теперь на сайте будет новый раздел, посвященный именно этому языку. Заходите по адресу eMbedded Visual Basic. Пока там только одна статья. Единомышленники, ау!

Справочник по VB

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

Сегодня поближе познакомимся с элементом ListBox

Элемент управления ListBox (Список) предоставляет пользователю выбрать значение из списка данных (один или несколько одновременно). Если число элементов в списке превышает число пунктов, которое список может вывести на экран, то в список автоматически добавляется полоса прокрутки.

Если нет выбранных элементов в списке, то значение свойства ListIndex равно -1. Первый пункт списка имеет значение ListIndex равным 0, а значение свойства ListCount всегда больше на единицу наибольшего значения ListIndex.

Для добавления или удаления пунктов в список программным путем используйте методы AddItem или RemoveItem. Также вы можете добавлять элементы в список во время разработки, используя свойство List. Каждый пункт следует вводить отдельной строкой, нажимая комбинацию клавиш Ctrl + Enter. Завершив ввод пунктов, нажмите клавишу Enter, и они отобразятся в элементе ListBox на форме


Свойства

Некоторые свойства ListBox можно установить только в режиме проектирования и их нельзя изменять во время работы приложения
ListМассив пунктов списка. Элемент массива List(0) содержит первый пункт списка, элемент List(1) - второй и т.д., вплоть до последнего элемента - List(ListCount-1).
ListCountВозвращает число пунктов списка. Доступ к ним можно получить с помощью значений индексов в диапазоне от 0 до ListCount-1
ListIndexПредставляет собой индекс выбранного пункта списка. При выборке нескольких пунктов ListIndex представляет индекс последнего выбранного пункта. Если не выбран ни один элемент, значение ListIndex = -1. Это свойство можно использовать для выбора или удаления конкретных пунктов. Так, следующий код удаляет выбранный пункт элемента
List1.RemoveItem List1.ListIndex
Если при вызове метода RemoveItem ни один пункт списка не выбран, значение свойства ListIndex отрицательно. Попытки удалить пункт с отрицательным индексом приводят к ошибке исполнения. После удаления пункта индексы последующих пунктов соответственно перестраиваются.
MultiSelectОпределяет метод выборки пунктов списка. Его значение задается при конструировании. Во время работы приложения значение свойства доступно только для чтения. Значение свойства MultiSelect определяет, может ли пользователь выбрать несколько пунктов списка и метод выборки.
0 (None) - Выбор нескольких пунктов запрещен (по умолчанию)
1 (Simple) - Простой выбор нескольких пунктов. Щелчок кнопкой мыши (или нажатие клавиши пробела) выбирает или отменяет пункт списка. Для перемещения фокуса на другой пункт используйте клавиши со стрелкой
2 (Extended) - Расширенный выбор нескольких пунктов. Для выбора нескольких пунктов подряд нажмите клавишу Shift, а затем щелкайте на пунктах мышью (или нажимайте клавиши со стрелкой). Все пункты списка между ранее выбранным и текущим пунктами подсветятся. Чтобы выбрать произвольно расположенные элементы списка (или отменить выбор), нажмите клавишу Ctrl и щелкните на пункте кнопкой мыши
SelectedПредставляет собой массив, подобный свойству List. Если пункт списка выбран, значение свойства Selected данного пункта равно True. В противном случае значение свойства равно False
SelCountОтображает число выбранных пунктов элемента ListBox, если значение свойства MultSelect установлено равным 1 (Simple) или 2 (Extended). Обычно это свойство используют вместе с массивом Selected для работы с выбранными пунктами элемента
SortedПредоставляет возможность автоматической сортировки элементов списка. Для этого установите значение свойства Sorted равным True. Сделать это можно только во время проектирования. Для сортировки чисел сначала отформатируйте их, добавив нули в начале каждого числа. Так как, число 10 всегда будет отображаться перед числом 7, поскольку строка "10" меньше строки "7" (она начинается с единицы). Если же числа форматировать как "010" и "007", то сортировка будет корректна. Пункты в элементе ListBox сортируются по возрастанию с учетом регистра. Элементы "aa", "aA", "AA, "Aa", "Ba" и "BA" сортируются следующим образом. "AA" "Aa" "aA" "aa" "BA "Ba".
StyleОпределяет внешний вид элемента. Имеет два значения: 1 - Standard и 2 - Checkbox


Методы

AddItemИспользуется для добавления пунктов в список.
List1.Additem item, index
Параметр item - строка, добавляемая в список, a index - ее порядковый номер (необятельный аргумент - если его опустить, строка добавляется в конец списка). Если значение свойства Sorted равно True, то пункт вставляется в соответствующее место списка, независимо от значения аргумента index
RemoveItemИспользуется для удаления пункта из списка. Необходимо знать index удаляемого пункта
List1.Removeltem Index
Параметр index указывает на порядковый номер удаляемого пункта и является обязательным. Следующий оператор удаляет пункт из начала списка. List1.Removeltem ()
ClearУдаляет из списка элемента все пункты.
List1.Clear
Пример
' Для просмотра всех пунктов элемента управления List1
' с целью отыскания и удаления пустых строк применяйте следующий цикл

For item = List1.ListCount - 1 to 0 Step - 1
 If List1.List(item) = "" Then
  List1.RemoveItem item
 End If
Next

Данный цикл сканирует элементы массива List() с конца, так как при удалении каждого пункта длина списка уменьшается на 1. Если сканировать список с начала, число итераций превысит число пунктов списка, что ведет к ошибке исполнения. Если же сканировать список с конца, эта ошибка исключается.

Функции API

Сегодня мы познакомимся с функцией GetConsoleCP
Функция GetConsoleCP возвращает кодовую страницу, используемой консолью
Declare Function GetConsoleCP Lib "kernel32" () As Long

Функция не имеет параметров и возвращает значение кодовой страницы
Пример

Dim lRet as Long
lRet=GetConsoleCP()
Print lRet

Данная функция будет включена в справочник по функциям Windows API, которая доступна только зарегистрированным пользователям.

Присылайте ваши предложения по адресу rusproject@mail.ru
Посетите сайт Русский_Проект, где вы найдете другую интересную информацию
Давайте делать рассылку вместе!
Счастливого вам программирования!



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное