Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Лабораторная работа №7. Использование строк




    

Цель работы: изучить особенности строковых данных, правила работы с компонентами ListBox и СomboBox. Написать и отладить программу работы со строками.

Общие теоретические сведения

Строки как одномерные массивы символов

В языке С/С++ строка – это одномерный массив символов, заканчиваю­щийся нулевым байтом, каждый бит которого равен нулю, при этом для нулевого байта определена константа ´\0´ (признак окончания строки или нуль-терминатор).

Для строки, состоящей из 80 символов, в описании массива необходимо указать размер 81, т.к. последний байт отведится под нуль-терминатор.

Напомним, что строковая константа – это набор символов, заключенных в кавычки, например, “Лабораторная работа по строкам” (´\0´ не указывается).

Строки можно инициализировать при декларации, например:

              char S1[10] = ”123456789”, S2[ ] = ”12345”;

в последнем случае размер строки устанавливается по фактическому количеству.

Операции над строками рекомендуется выполнять с использованием стандартных библиотечных функций, рассмотрим наиболее часто используемые функции библиотеки string. h:

1) strcpy (S 1, S 2) – копирует содержимое строки S 2 в строку S 1;

2) strcat (S 1, S 2) – присоединяет строку S 2 к строке S 1 и помещает ее в массив, где находилась строка S 1, при этом строка S 2 не изменяется; нулевой байт, который завершал строку S 1, заменяется первым символом строки S 2;

3) strcmp (S 1, S 2) – сравнивает строки S 1 и S 2 и возвращает значение =0, если строки равны, т.е. содержат одно и то же число одинаковых символов; значение <0, если S 1< S 2; и значение >0, если S 1> S 2.

4) strlen (S) – возвращает длину строки, т.е. количество символов, начиная с первого (S [0]) и до нуль-терминатора, который не учитывается.

5) strstr ( S 1, S 2 ) – указывает первое появление подстроки S 2 в строке S 1.

6) преобразование строки S в число (библиотека stdlib. h): целое – (int) atoi (S); длинное целое – (long) atol (S); действительное – (double) atof (S);

при возникновении ошибки данные функции возвращают значение 0;

7) преобразование числа V в строку S: целое – itoa (int V, char S, int kod); длинное целое – ltoa (long V, char S, int kod); значение параметра kod определяет выбор системы счисления для преобразования и находится в диапазоне 2£ kod £36, для отрицательных чисел kod = 10.

 

Создание оконного приложения

Тип AnsiString

     Тип AnsiString является основным строковым классом в B uilder.

Часто используемые методы этого класса: с_str () – преобразование строки AnsiString в массив символов; Delete () – удаление символов, SubString () – копирование подстроки; Pos () – поиск позиции; Length () – определение длины строки.

Компонента ListBox

     Данная компонента представляет собой список, элементы которого выбираются при помощи клавиатуры или мыши. Список элементов задается свойством Items, методы Add, Delete и Insert которого используются для добавления, удаления и вставки строк, соответственно. Объект Items хранит строки списка. Для определения номера выделенного элемента используется свойство ItemIndex.

Компонента ComboBox

     Список ComboBox – комбинация списка ListBox и редактора текста Еdit, поэтому практически все свойства аналогичны. Для работы с окном редактирования используется свойство Text, как в Edit, а для работы со списком выбора – свойство Items, как в ListBox. Cуществует пять модификаций компоненты, определяемых ее свойством Style, выбрав в котором модификацию csSimple, раскрываем список, потянув его за нижнюю кромку (захватив ее мышью).

Компонента-кнопка BitBtn

     Компонента BitBtn расположена на странице Additonal и представляет собой разновидность стандартной кнопки B utton. Ее отличие – наличие изображения на поверхности, определяемое свойством Glyph. Кроме того, свойство Kind задает одну из 11 стандартных разновидностей кнопок, нажатие любой из них, кроме bkCustom и bkHelp, закрывает окно и возвращает в программу результат mr *** (например, bkOkmrOk). Кнопка bkClose закрывает главное окно и завершает работу программы.

Обработка событий

     Обо всех происходящих в системе событиях, таких, как создание формы, нажатие кнопки мыши или клавиатуры и т.д., ядро Windows информирует окна путем посылки соответствующих сообщений. Среда Builder позволяет принимать и обрабатывать большинство таких сообщений. Каждая компонента содержит обработчики сообщений на странице Events инспектора объектов.

     Для создания обработчика события необходимо выделить нужную компоненту, далее на странице Events выбрать обработчик и двойным щелчком кнопкой мыши в белом (пустом) окошке в текст программы будет вставлена соответствующая функция. Например, выделив компоненту Form 1 и выбрав обработчик OnActivate, будет вставлена функция … FormActivate (…) { }.

     Каждая компонента имеет свой набор обработчиков событий, однако некоторые из них присущи большинству компонент. Рассмотрим наиболее часто применяемые события:

OnActivate –форма получает это событие при активации;

OnCreate – возникает при создании формы (Form), в обработчике события задаются действия, которые должны происходить в момент создания формы;

     OnKeyPress – возникает при нажатии клавиши клавиатуры, параметр Key типа WORD содержит ASCII -код нажатой клавиши (Enter имеет код 13, Esc – 27) и обычно используется, когда необходима реакция на нажатие одной из клавиш;

OnKeyDown – возникает при нажатии клавиши клавиатуры, обработчик этого события получает информацию о нажатой клавише и состоянии клавиш Shift, Alt и Ctlr, а также о нажатой кнопке мыши;

OnKeyUp – является парным событием для OnKeyDown и возникает при отпускании ранее нажатой клавиши;

OnClick – возникает при нажатии кнопки мыши в области компоненты, а OnDblClick – при двойном щелчке кнопкой мыши в области компоненты.

 

Пример выполнения задания

     Написать программу подсчета числа слов в строке, содержащей пробелы.





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 278 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

4380 - | 4152 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.