- •Содержание
- •17.2.2. Свойства 130
- •17.6.2. Свойства 133
- •17.7.2. Свойства 134
- •18. Меню 139
- •Основные понятия ооп
- •Объекты
- •Классы объектов
- •Свойства
- •События
- •Три основных принципа ооп
- •Инкапсуляция
- •Наследование
- •Полиморфизм (имеющий много форм)
- •Визуальное проектирование интерфейса
- •Событийно-управляемое программирование
- •Процесс создания приложений
- •Интегрированная среда разработки (иср) visual basic
- •Общая организация программы в vb
- •Структура проекта vb
- •Структура событийной процедуры
- •Общее описание среды vb
- •Краткая характеристика элементов управления, используемых при создании простых приложений
- •Основные свойства, методы и события объектов vb
- •Основные элементы языка Vb
- •Типы данных
- •Переменные
- •Объявление переменных
- •Explicit-объявление
- •Константы
- •Выражения и операции
- •Стандартные подпрограммы
- •Математические функции vb
- •Функции преобразования данных vb
- •Операторы
- •Простые операторы
- •Оператор присваивания
- •Операторы вызова процедур
- •Оператор безусловного перехода
- •Системные диалоговые окна
- •Диалоговое окно ввода информации InputBox
- •InputBox(Приглашение,Заголовок,НачЗначение),
- •Окно сообщения MsgBox
- •Ввод и вывод данных в vb
- •Ввод данных
- •Вывод результатов
- •Функция Format
- •Структурные операторы
- •Условные операторы
- •Оператор выбора Select … Case
- •Операторы повтора
- •Циклы с параметром
- •Элемент управления Slider
- •Циклы с условием
- •Использование рекуррентной формулы для вычисления суммы ряда
- •Использование функции Timer
- •Подпрограммы пользователя
- •Пользовательские процедуры
- •Способ передачи аргументов
- •Функции пользователя
- •Массивы
- •Оператор Option Base
- •Динамические массивы
- •Функции lBound и uBound
- •Функция Rnd
- •Оператор Erase
- •Типовые задачи на обработку одномерных массивов
- •Формирование массива с помощью функции Split
- •Линейная сортировка массива
- •Уплотнение массива
- •Вставка элемента в массив
- •Изменение положения элементов на некотором отрезке
- •Кольцевой сдвиг элементов массива
- •Двумерные массивы
- •Ввод и вывод двумерных массивов
- •Формирование двумерного массива с помощью диалогового окна InputBox и функции Split
- •Вывод двумерного массива с помощью элемента управления msFlexGrid
- •Типовые задачи на обработку двумерных массивов
- •Преобразование двумерных массивов
- •Типовые задачи с квадратными матрицами
- •Массивы в качестве формальных параметров в процедурах и функциях пользователя
- •Данные строкового типа
- •Операции над строками
- •Функции, предназначенные для работы со строками
- •Функция Split
- •Функция Join
- •Оператор Mid
- •Типовые задачи на обработку строк
- •Анализ символьных строк
- •Изменение строк (замена, удаление, вставка символов)
- •Функции и операторы для работы с файлами
- •Открытие файлов
- •Закрытие файлов
- •Работа с файлами последовательного доступа
- •Чтение данных
- •Запись данных
- •Элемент управления CommonDialog
- •Графика в vb
- •Методы графики в vb
- •Задание цвета
- •Свойства объектов, влияющих на графические методы:
- •Применение метода Scale
- •Построение графика функции
- •Некоторые дополнительные элементы управления, которые часто используются в проектах.
- •Объект управления Shape (Фигура)
- •Свойства
- •Объект управления Timer
- •События
- •Свойства
- •Окна общего диалога
- •Создание меню
- •Свойства
- •Работа с несколькими формами
-
Операции над строками
Выражения, в которых операндами служат строковые данные, называются строковыми. Над строковыми данными допустимы операции сцепления и операции отношения.
Операция сцепления (конкатенации) «+» применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и строковые переменные.
Например:
”Бейсик, ” + ”Паскаль, ” + ”Си ” + ”–” + ”языки программирования”.
В результате операции сцепления «+» получится строка:
”Бейсик, Паскаль, Си – языки программирования”
Операции отношения =, <, >, <=, >=, <> позволяют выполнить сравнение двух строк, в результате чего получается логическое значение True или False. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.
Например:
Выражение |
Результат |
”True1” > ”True2” |
False |
”Student” > ”STUDENT” |
True |
”Студент” <> ” Студент” |
True |
”Группа” = ”Группа” |
True |
Все остальные действия над строками и символами реализуются с помощью встроенных процедур и функций.
-
Функции, предназначенные для работы со строками
Решение подавляющего большинства задач на обработку строковых переменных требует владения встроенными функциями:
Функция (S- строка, X- число) |
Назначение |
Len(S) |
Возвращает количество символов в строке S Fio=”Иванов”: l=Len(Fio) Результат: l=6 |
Left(S,k) |
Возвращает k символов с начала строки Fio=”Иванов”: t=Left(Fio,4) Результат: t=”Иван” |
Right(S,k) |
Возвращает k символов с конца строки Fio=”Иванов”: T=Right(Fio,2) Результат: T=”ов” |
Mid(S,Pos,k) |
Возвращает k символов из переменной S, начиная с позиции Pos, включительно Fio=”Иванов”: T=Mid(Fio,2,4) Результат: T=”вано” Эта функция часто используется для выдаления одного символа из строки: Mid(S,i,1) |
Val(S) |
Преобразует строку S в десятичное число p=”-243.65”: S=Val(p)+100 Результат: S=-143.65 |
CInt(S) |
Преобразует строку S в целое число p=”-243”: S=Val(p)+100 Результат: S=-143 |
Str(X) |
Преобразует число X в строку символов с учетом знака. Если число положительное, вместо знака ставится пробел. a=123.45: b=-678: S=Str(b)+Str(a) Результат: S=”-678 123.45” |
СStr(X) |
Преобразует числовое выражение X в строку символов. S=СStr(4-7/3) Результат: S=”4-7/3” |
Chr(N) |
Возвращает символ, соответствующий числовому коду в таблице символов For i=65 to 90 Print Chr(i) Результат: Вывод заглавных букв латинского алфавита |
Asc(S) |
Определяет числовой код первого символа в строке S: Print Asc(”123”): Print Asc(” 1a2m”) Print Asc(”ABC”) Результат: 49 32 65 |
InStr(n,S,S1) |
Начиная с позиции n, определяет позицию первого появления подстроки S1 в строке S. Если такой подстроки нет, то возвращаемым значением функции будет ноль. S=”кукуруза”: S1=”ку” Print Instr(1,x,y); Print Instr(2,x,y); Результат: 1 3 |
InStrRev(n,S,S1) |
Определяет позицию первого появления подстроки S1 в строке S справа налево (начиная с конца строки) |
LTrim(S) |
Удаляет пробелы, расположенные в начале строки |
RTrim(S) |
Удаляет пробелы, расположенные в конце строки |
TRim(S) |
Удаляет пробелы, расположенные в начале и в конце строки |
LCase(S) |
Изменяет регистр букв исходной строки S на нижний |
UCase(x) |
Изменяет регистр букв исходной строки S на верхний |
StrConv(S,p) |
Изменяет регистр букв строки S, в зависимости от значения параметра p p =1, верхний регистр; p =2, нижний регистр; p =3, только первая заглавная |
StrReverce(x) |
Изменяет порядок следования в строке на обратный |
Spase(n) |
Возвращает строку, состоящую из n пробелов |
Replase (S,S1,S2,n,k) |
Заменяет в строке S подстроку S1 на подстроку S2, начиная с позиции n. k - количество замен, если значение k не указано, то заменяются все вхождения S1 в S. Эта функция используется также для удаления подстрок: s1=”121113” Print Replace(s1,”1”,””) ’Удаляется ’подстрока ”1” Результат: 23 |
Строку символов всегда можно преобразовать в одномерный массив отдельных символов, расщепив ее при помощи функции Mid или Split. После этого со строкой можно работать точно так же как и с одномерным массивом. После обработки массива, его элементы следует обратно слить в строку при помощи операции сцепления.