Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Добавление элементов в список

Wend

Оператор While...Wend

Do

Do

Loop

Оператор Do...Loop

Оператор Do...Loop реализует блок операторов, пока выполняется некоторое условие. При этом вычисляется некоторое выражение, и если оно равно True, то операторы в цикле выполняются. Если значение выражения — False, то работа программы продолжается с оператора, следующего за циклом.

Есть две разновидности операторов Do...Loop с одинаковой базовой моделью.

1. Цикл выполняется, пока (While) условие равно True,

Чтобы выполнять операторы до тех пор, пока условие равно True, используется следующий синтаксис:

Do While condition

блок операторов..

2. Цикл выполняется до тех пор (Until), пока условие не станет равным True.

Чтобы выполнять операторы до тех пор, пока условие не станет равным True, используйте такой синтаксис:

Do Until condition

Блок операторов

Loop

Ключевые слова While и Until указывают, как долго операторы должны выполняться.

При выполнении этих циклов вычисляется условие - condition. Если его значение равно False, то блок операторов Do...While или Do...Until пропускается (операторы не выполняются вообще). Когда достигается оператор Loop, выражение condition вычисляется опять. Если оно равно True, реализуется блок операторов Do...While, а если - False, то повторяется выполнение блока операторов Do...Until.

Оператор Do...While выполняется любое количество раз, пока условие равно True. Знать число итераций до завершения цикла не нужно. Операторы могут быть вообще не выполнены, если условие изначально равно False.

Приведем пример использования цикла Do...Loop.

В следующем цикле Do выполняются операторы, а после каждого выполненного цикла вычисляется условие.

Синтаксис такого цикла:

операторы

Loop While condition

или

операторы

Loop Until condition

Операторы этого цикла выполняются как минимум один раз, поскольку условия проверяются в конце цикла.

Для принудительного выхода из цикла можно применять команду Exit Do.

С помощью оператора Do... Loop можно программировать циклы различными способами, зависящими от решаемой задачи и стиля программирования.

Цикл While...Wend выполняет блок операторов, пока условие равно True. Синтаксис этого цикла имеет следующий вид:

While condition-условие

Блок операторов

Если условие равно True, то выполняется блок операторов, а по достижении оператора Wend управление возвращается к оператору While, который снова вычисляет выражение condition. Если condition все еще равно True, процесс повторяется. Если condition -False, программа продолжается с оператора, следующего за Wend.


Работа со списками.

 

Списки, размещаемые в формах Visual Basic, позволяют пользователю выбрать один из возможных вариантов ответа. Для создания списков используются две кнопки на панели элементов управления:

Название Назначение
ListBox Создает в форме список, в котором элементы расположены в одну или несколько колонок. В случае, если элементы списка не помещаются в созданном объекте ListBox, то в нем появляются полосы прокрутки, располагаемые снизу и/или с правой стороны
ComboBox Создает в форме раскрывающийся список, представляющий собой объект типа ComboBox. Этот тип списка позволяет пользователю осуществлять выбор значения, вводимого в размещаемое сверху поле ввода, или выбирать значение из списка, открываемого нажатием кнопки со стрелкой, размещаемой с правой стороны. Список данного типа удобно использовать в том случае, если вводимых значений много, а места в форме для расположения обычного списка не хватает


Для списков существуют встроенные методы, позволяющие во время выполнения приложения добавлять (Additem), удалять (Removeitem) и получать из списка значения. Чтобы разместить значения в списке во время разработки, выполните следующие действия:

1. Выделите свойство List (Список).

2. В правом столбце свойства появится кнопка, содержащая направленную вниз стрелку. Нажмите эту кнопку. Откроется список, позволяющий вводить значения.

3. Введите первое значение списка.

4. Для перехода на новую строку списка нажмите комбинацию клавиш <Ctrl>+<Enter>.

5. Введите следующее значение списка.

6. Повторяя пункты 4 и 5, сформируйте весь список.

Иногда для удобства пользователей требуется, чтобы при появлении формы на экране в списке по умолчанию было выделено наиболее часто выбираемое из него значение. Для установки значения, выбираемого по умолчанию, используется свойство Listindex. Например, вы хотите, чтобы при загрузке формы в списке, имеющем имя List1, выделялся четвертый элемент. В этом случае вам необходимо поместить в окно редактора кода следующее:

Private Sub Form Load()

List1.Listindex = 3

End Sub

Замечание

В коде вместо цифры 4, указывающей номер выделяемого элемента, содержится цифра 3, т. к. нумерация элементов списка начинается с 0.

Свойство Listindex применимо для списков обоих типов: обычных и раскрывающихся. Если для раскрывающегося списка не установлено используемое по умолчанию значение, то при появлении его на экране в поле, предназначенном для ввода значения списка, отображается текст Combol, задаваемый свойством Text и представляющий собой имя объекта. Если вы хотите, чтобы это поле при появлении списка на экране было пустым или содержало заданный вами текст, выделите свойство Text и в правом столбце удалите информацию, оставив поле пустым, или введите необходимый текст, соответственно.

Элемент управления Список (ListBox) один из самых популярных во всей палитре компонентов для создания интерфейса. Он позволяет легко просматривать большие объемы информации и осуществлять выделение нужных строк. Однако у него есть неприятная особенность: отсутствие горизонтальной линейки прокрутки. Из-за этого слишком длинные строки обрезаются на границе элемента, что особенно неприятно, если таким образом становится недоступной какая-либо важная информация.

Во избежание возникновения подобных проблем нужно тщательно протестировать работу программы, чтобы выяснить, возможна ли ситуация, что в список будут выведены слишком длинные строки, чтобы уместиться в нем полностью. Если это не исключается, то можно предусмотреть средства, позволяющие все-таки полностью просмотреть "обрезанную" строку, например, при двойном щелчке мышью на интересующей пользователя строке выводить на экран небольшое окошко, где требуемый текст отображается полностью. Еще один хороший путь решения этой проблемы — заменить элемент Список (ListBox) более функциональным, скажем, ListView (в нем, например. Проводник Windows выводит список файлов). Задав определенным образом некоторые свойства ListView, можно добиться его полного внешнего сходства с традиционным списком, однако в отличие от последнего в окне ListView будет присутствовать горизонтальная линейка прокрутки.

Элемент управления ListBox, размещенный в форме, представляет собой список, из которого пользователь может выбрать одно из предложенных значений. Значения в списке могут размещаться в одну или несколько колонок. Количество колонок задается свойством Columns (Колонки). В том случае, если элементы списка не помещаются в выделенную для них в форме область, появляются полосы прокрутки, позволяющие просмотреть весь список.

Элементы в список могут добавляться во время разработки и программно с использованием метода Additem. При формировании списка во время разработки в свойстве List вручную задается весь необходимый список. Данные не обязательно вводить в алфавитном порядке, т. к. их можно упорядочить, установив для свойства Sorted (Сортировка) значение True. В этом случае вновь вводимые элементы списка также будут располагаться в алфавитном порядке.

Нежелательно использовать сортировку, если данные в список будут добавляться методом Additem с использованием параметра index.

Для добавления элементов в список программным способом предназначен метод AddItem, имеющий следующий синтаксис:

NameList.AddItem выражение [, index] где:

· NameList — наименование списка, задаваемое свойством Name;

· выражение — элемент списка. Если это символьная величина, то она должна быть помещена в кавычки;

· index — порядковый номер элемента в списке. Если этот параметр отсутствует, элемент добавляется в конец списка. (При использовании параметра index необходимо учитывать, что нумерация элементов начинается с 0.)

Например, для программного формирования списка городов вам необходимо задать следующую процедуру:

Private Sub Form Load()

List1.AddItem "Москва"

List1.AddItem "С.Петербург"

List1.AddItem "Псков"

List1.AddItem "Новгород"

List1.AddItem "Чебоксары" End Sub

На рис. 6.1 показано окно редактора кода, содержащего процедуру формирования списка городов.

Рис. 6.1. Окно редактора кода с процедурой, формирующей список

Города в списке располагаются в том порядке, в котором они заданы в процедуре. Например, если строку кода List1.Additem "Чебоксары" заменить строкой

List1.Additem "Чебоксары", 0

то в списке городов Чебоксары будут помещены в первую позицию (рис. 6.2).

Рис. 6.2 Использование параметра index позволяет задать порядок элементов в списке

<== предыдущая лекция | следующая лекция ==>
Операторы цикла | Удаление элементов из списка
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 697; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.028 сек.