Главная страница

Visual Basic .NET для чайников - У. Вонг. Visual Basic .NET для чайников - У. Диалектикамосква СанктПетербург Киев


Скачать 7.1 Mb.
НазваниеДиалектикамосква СанктПетербург Киев
АнкорVisual Basic .NET для чайников - У. Вонг.pdf
Дата29.05.2018
Размер7.1 Mb.
Формат файлаpdf
Имя файлаVisual Basic .NET для чайников - У. Вонг.pdf
ТипКнига
#19767
КатегорияИнформатика. Вычислительная техника
страница18 из 30
1   ...   14   15   16   17   18   19   20   21   ...   30
Глава 18. Обработка текстовой информации 197

Команда Trim удаляет лишние пробелы в начале и в конце строки, а затем, следующим
кодом, к значению переменной добавляется один пробел и слово "Кинг", в результате чего
мы получаем строку "Мартин Лютер Кинг".
У нас имеется возможность удалить либо вернуть часть символов, расположенных в нача-
ле, в конце или посередине
строки. Для этого следует воспользоваться коман-
дой
Right или Mid.
Возвращение первых символов строки
Иногда так бывает, что строки содержат больше информации, чем это необходимо. На-
пример, переменная ПолноеИмя может содержать в себе имя и фамилию человека, тогда как
вам нужно, скажем, только имя. Чтобы вернуть лишь некоторое количество символов из на-
чала строки, воспользуйтесь следующей командой BASIC:
N)
Вас, наверное, удивляет наличие слов
перед коман-
дой
Таким образом дается ссылка на отдельный файл классов, содержащий
коды BASIC, которые делают рабочей команду
Более подробную информа-
о файлах классов и объектно-ориентированном программировании вы найдете
в седьмой части этой книги.
Приведенная выше команда обращается к компьютеру: "Видишь переменную ПолноеИ- мя? Верни первые N символов из этой
сказанное на примере.
Dim ПолноеИмя, Имя As
ПолноеИмя "Рита Н. Брокович"
Имя =
4)
Переменной Имя будет присвоено значение Р и т а .
Возвращение последних символов строки
Чтобы получить определенное количество символов начиная с правого края строки, вос-
пользуйтесь такой командой BASIC:
N)
Эта команда дает компьютеру указание:
переменную ПолноеИмя? Верни по-
следние N символов этой строки". Приведем пример:
Dim ПолноеИмя, Фамилия As S t r i n g
ПолноеИмя "Рита Н. Брокович"
Фамилия ==
8)
В результате переменной Фамилия будет присвоено значение Б р о к о в и ч .
Возвращение символов, находящихся внутри строки
Если нужный текст расположен где-то внутри строки, для его возвращения
вос-
пользоваться командой:
Часть IV. Основы создания кодов

X, Y)
Данная команда говорит компьютеру: "Видишь переменную ПолноеИмя? Отсчитай X
символов от левого края строки и начиная с этой позиции верни следующие Y символов".
Рассмотрим это на примере:
Dim ПолноеИмя, Инициал As S t r i n g
=
Врокович"
Инициал =
6, 2)
Переменной Инициал будет присвоено значение
(включая точку).
и замена
слов
При необходимости найти имя, номер или какое-нибудь слово внутри одной большой строки, воспользуйтесь командами BASIC для поиска текстовой информации. В Visual Basic имеется две такие команды: I n S t r и I n t S t r R e v .
Поиск одной строки внутри другой
Если одна строка расположена где-то внутри другой строки (т.е. является ее частью), най- ти ее позицию можно с помощью команды BASIC I n S t r :
"ИскомаяСтрока")
Указанная команда возвращает номер позиции внутри исходной строки, начиная с кото- рого следуют символы искомой строки. Например:
Dim ПолноеИмя As S t r i n g
Dim Позиция As I n t e g e r
= "Иван Федорович Крузенштерн"
=
"Федорович")
В данном случае переменной Позиция будет присвоено значение 6.
Если строка, которую вы ищете, в исходной строке не будет найдена, команда I n S t r вернет значение 0.
Для Visual Basic символы верхнего и нижнего регистров воспринимаются как со- вершенно разные. Поэтому при поиске вхождения одной строки в другую обращайте внимание на регистр. Например, следующая команда возвращает нулевое значение:
Федорович "ФЕДОРОВИЧ")
Строка Федорович вовсе не соответствует строке ФЕДОРОВИЧ, и, возвращая ну- левое значение, Visual Basic как бы говорит: "Извини дружище, но такого текста в исходной строке нет".
Поиск текста по шаблону
Поиск текста по шаблону подразумевает, что Visual Basic может сравнивать тексто- вые значения с заранее заданным образцом и соответствуют ли они ему. Для вы- полнения данной операции используется оператор Like:
Dim Flag As Boolean
Dim Строка As S t r i n g
Глава 18. Обработка текстовой информации

Строка =
Flag = Строка Like "мышь"
1. Первая строка говорит Visual Basic о необходимости создать перемен- ную типа Boolean и назвать ее именем Flag.
2. Вторая строка дает указание Visual Basic создать переменную типа
S t r i n g и назвать ее Строка.
3. В третьей строке переменной Строка присваивается значение мышь.
4. Четвертая строка приказывает Visual Basic
"Сравни значение перемен- ной Строка со значением мышь, а результат сравнения присвой переменной
Flag". Поскольку в данном случае значение переменной Строка и значение мышь совпадают, переменной Flag будет присвоено значение True.
Применение группового символа
В предыдущем примере в качестве шаблона была использована строка мышь. Можно не- много усложнить задачу и расширить круг поиска за счет замены одного из символов знаком вопроса (?). Знак вопроса в шаблоне означает, что вместо него в этой позиции может стоять любой другой символ. Например:
Flag = Строка Like "мыш?"
переменная Flag будет принимать значение True каждый когда значением переменной Строка будет текст, состоящий из четырех символов, первыми тремя из кото- рых будут мыш. Такому шаблону, в частности, будут удовлетворять строки мыши,
и т.д.
Для Visual Basic имеет принципиальное значение, в каком набран текст. Вот почему буква
— это не одно и то же, что и буква
Следователь- но, сравнение указанного выше шаблона со строкой Мышь будет возвращать пере- менной Flag значение F a l s e .
Переменной Flag будет также присваиваться значение F a l s e и в том случае, если с шаблоном будет сравниваться строка, состоящая из менее чем четырех или более чем четы- рех символов, вне зависимости от того, будут ли в ней присутствовать буквы мыш.
Знаком вопроса можно также заменить два и более символов:
Flag = Строка Like
Теперь переменной Flag значение True будет присваиваться каждый раз, когда с шабло- ном будет сравниваться строка, состоящая из четырех символов и начинающаяся с буквы
Групповой символ "звездочка"
Групповой символ "вопросительный может заменять собой только один текстовый символ. Но если нужно обозначить произвольное количество любых символов, применяется групповой символ "звездочка" (*):
•-- Строка Like
В данном случае переменной Flag будет присваиваться значение True каждый раз, когда с шаблоном будет сравниваться строка, начинающаяся с буквы заканчивающаяся мягким знаком и состоящая из любого количества символов, в том числе и строки мышь, моль, ма- гистраль,
и др.
При необходимости несколько групповых символов можно комбинировать для составле- ния более гибких шаблонов, например:
= Строка Like
200 Часть IV. Основы создания кодов

Этому шаблону удовлетворяют строки произвольной длины, первой буквой которых яв- ляется а третьей — буква мышка, мушкет,
7.
Применение группового символа
Вопросительный знак и могут заменять собой любую букву, цифру или знак. В от- личие г них групповой символ заменяет собой только цифры (от 0 до 9). Например:
F l a g
Строка L i k e " м # "
В этом случае переменной F l a g будет присваиваться значение T r u e каждый раз, когда с шаблоном будет сравниваться строка, начинающаяся с буквы и заканчивающаяся любой мЗ,
м9 и т.д.
Применение диапазонов
В Visual Basic для обозначения символов, принадлежащих определенному ряду, ис- пользуются диапазоны. Например, чтобы обозначить все буквы от А до Z, наберите следую- щий код:
F l a g
Строка L i k e "[A —
В этом случае переменной F l a g будет присваиваться значение T r u e каждый раз. когда с шаблоном будет сравниваться строка, состоящая из одной прописной буквы латинского ал- фавита: А, В, ..., Z.
Диапазоны можно использовать в комбинации с любыми групповыми символами:
F l a g
С т р о к а L i k e
-
В этом случае переменной F l a g будет присваиваться значение T r u e каждый раз, когда с шаблоном будет сравниваться строка, начинающаяся на букву F, за которой следует буква из диапазона [К — Z ] , две цифры, точка и далее произвольное количество любых символов,
например:
. 6, FZ12 .
. s n a p и т.п.
Диапазон заменяет собой только один символ.
В диапазоне также может быть представлен ряд символов, которые не должны встречаться в строке определенной позиции: [! а - z ]. Такой код говорит Visual Basic
"В этой по- зиции может быть любой символ, кроме строчных букв латинского алфавита". Например:
F l a g ---- Строка L i k e " F M [ ! a -
В этом случае переменной F l a g будет присваиваться значение T r u e каждый раз, когда с шаблоном будет сравниваться строка, начинающаяся с букв за которыми следует любой кроме строчной буквы латинского алфавита, далее 1 и произвольное количество лю- бых других символов:
105 . Ь,
3 и т.п.
Замена части строки другой строкой
Если у вас возникло желание создать с помощью Visual Basic собственный тексто- вый процессор (с возможностями поиска и замены рекомендуем воспользоваться та- кой командой:
Позиция) =
Эта команда дает указание компьютеру:
исходной строке найди символ, расположен- ный в заданной позиции (считая начала строки) и начиная с данного места замени после- дующие символы текстом новой строки".
Глава
Обработка текстовой информации 201

Операция замены части строки другой строкой требует определенной сноровки и акку- ратности. Обратимся к примеру:
= "Иван Иванович Сусанин"
6)
"Степанович"
Вот как Visual Basic интерпретирует этот код.
1. В первой строке дается указание присвоить переменной значение
Иван Иванович Сусанин.
2. Вторая строка говорит Visual Basic
"В строке, представленной пере- менной ПолноеИмя, найди шестой от начала строки символ и начиная с него замени последующие символы строкой Степанович".
Вот что в результате этого выйдет:
Иван Иванович Сусанин строка)
Иван
(шестой символ от начала строки)
(новая строка)
Получив указание заменить часть строки другой строкой, Visual Basic поймет все буквально и без разбора сотрет все исходные символы, оказавшиеся в пределах новой строки.
Тест на проверку полученных вами знаний
1. Как понять программе, что вводимая информация должна быть воспринята как строка?
а. Нужно в конце строки поставить тире и указать автора.
набрать текст без грамматических ошибок, то он будет воспринят как строка.
в. Нужно создать отдельный файл и указать в нем перечень всех строк, которые мо- гут быть потом набраны.
Текстовая информация должна быть за- ключена в кавычки.
2. Что делает следующий код BASIC: Поиск =
а. Код заменяет исходную строку искомой, и,
ищет, чего бы еще заменить в тепле програм- мы.
б.
сравнивает исходную строку с искомой,
и если он находит десять различий, компью- тер издает звуковой сигнал.
в. Если искомая строка является частью исход- ной, переменной к присваивается число, обозначающее позицию символа исходной строке, начиная с которого далее следует текст искомой строки,
г. Выполняет все вышеперечисленные действия.
и чисел
Может возникнуть необходимость преобразовать строки в числовые значения, с тем что- бы иметь возможность использовать их для проведения вычислений. С другой стороны, пре- образование чисел в строки позволяет обрабатывать их как текстовую информацию. При не- обходимости можно также преобразовать строки в коды ASCII или ANSI.
202
Часть
Основы создания кодов

Преобразование строк в числа
Можно ли использовать текстовое поле для получения от пользователей информации об их среднем заработке? К сожалению, текстовые поля сохраняют получаемые данные как зна- чения свойства Text, которые изначально имеют тип S t r i n g (т.е. значениями будут строки,
а не числа). Чтобы преобразовать текст в число, нужно воспользоваться одной из функций преобразования, например такой:
или такой:
Список функций преобразования строк в числа не ограничивается функциями и CInt. Есть другие функции, которые преобразовывают строки в значения различных числовых типов. Например, функция преобразовывает текст в чи- словое значение типа S i n g l e . Выбор функции зависит от типа данных, к которо- му нужно преобразовать текстовое значение.
Первая команда говорит компьютеру: "Преобразуй текстовое значение переменной
Строка в числовое значение типа Double".
Вторая команда требует иного: " Преобразуй текстовое значение переменной Строка в числовое значение типа I n t e g e r " .
Проиллюстрируем сказанное таким примером:
Dim ЧисловоеЗначение As Double
ЧисловоеЗначение =
Вот как Visual Basic интерпретирует данный код.
Первая строка требует: "Создай переменную типа Double и присвой ей имя
ЧисловоеЗначение".
2. Вторая строка приказывает: "Возьми данные, сохраненные как значение свойст- ва Text объекта, именуемого преобразуй их в числовое значение ти- па а затем присвой это значение переменной
Таким образом, если пользователь наберет в текстовом поле число 1000 (оно автоматически будет воспринято как строка), переменной ЧисловоеЗначение будет при- своено значение
00.
Если пользователь наберет что-то вроде "Мой доход составляет или "1000
долларов", Visual Basic выдаст сообщение об ошибке, поскольку он не будет знать, как преобразовать слова в числа.
Преобразование чисел в строки
Допустим, у вас возникло желание (или необходимость) преобразовать числа в строки, с тем чтобы иметь возможность обрабатывать значения как текстовую информацию. Для этого вы должны воспользоваться следующей командой BASIC:
CStr (Число)
Такая команда дает указание компьютеру: "Возьми сохраненное как значение пе- ременной Число, и преобразуй его в строку".
Для Visual Basic числа и строки —- это совершенно разные понятия, например:
10
Это число "10" ' Это строка
Глава 18. Обработка текстовой информации 203

Вот примеры преобразования чисел в строки:
Это с т р о к а " 1 0 "
' Это с т р о к а " 1 0 . 5 "
C S t r ( - 10) ' Это с т р о к а " - 1 0 "
Когда Visual Basic преобразовывает число в строку, в начало строки добавля- ется пробел, если число положительное; если число отрицательное, строка начина- ется со знака "минус".
Функция преобразования C S t r становиться просто незаменимой, если на экране нужно отобразить число, используя для этой цели свойство Text текстового поля или надписи.
Преобразование строк в коды ASCII
Если вы серьезно занимаетесь программированием, вам наверняка иметь дело с кодами ASCII, поэтому рекомендуем приобрести копию таблицы с таковыми и повесить ее в где-нибудь рядом с компьютером.
Коды это числа, используемые компьютером для представления всех основных символов (поскольку компьютер в конечном итоге имеет дело только с числами).
букве " Л " (латинский алфавит) соответствует код ASCII, равный числу 65, а букве "а" (также латинский алфавит) — код ASCII, равный числу 97.
Если нужно узнать код ASCII, соответствующий определенной букве, необходимо вос- пользоваться следующей командой BASIC:
Например:
X
Asc
X = 65
X = Asc ( " а " )
X = 97
Преобразование кодов ANSI в строки
Microsoft Windows не использует коды вместо них применяются коды ANSI.
Впрочем, они практически полностью идентичны.
Чтобы применить коды ANSI на практике, воспользуйтесь такой командой BASIC:
Dim X As S t r i n g
X =
Коды ANSI применяются в основном для набора специальных управляющих символов,
обеспечивающих, в частности, переход на новую строку и возврат каретки.
Приведенные ниже команды демонстрируют применение некоторых кодов ANSI.
=
= C h r ( 1 2 )
=
Используя такие команды для управления строками, вы всегда будете что текст на экране отображается именно так, как вы хотите, что, конечно же, повышает качество соз- даваемой вами программы.
204 Часть IV. Основы создания кодов

Глава 19
Определение констант и использование
комментариев
Созлание констант
Область видимости констант
Виды комментариев и способы их использования это постоянное значение, т.е. такое, которое никогда не меняется в процессе выполнения программы. Константами могут быть строки, числа и даты.
Чем полезны константы? Существует несколько причин, побуждающих использовать их вне зависимости от конечных целей, ради которых создается программа.
Предположим, нам нужно написать программу, определяющую размеры начисляемой за- работной платы исходя некоторой фиксированной ставки. Если эта ставка равна, скажем,
$50. вам нужно будет набрать число 50 во всех формулах программы, где используется зна- чение ставки.
Однако число 50 само по себе не значит. Более того, если вдруг размер фиксиро- ванной ставки поменяется и будет равен уже не $50, а, например, $55, вам придется во всем тексте программы менять число 50 на 55. Если вы случайно пропустите хотя бы одно вхож- числа 50 и не замените числом 55, вся программа будет работать некорректно.
не иметь проблем, подобных описанной, нужно использовать константы. Констан- та -- просто слово, заменяющее собой некоторое значение. Она не только может объяс- нять посредством своего имени смысл представляемого значения, но и позволяет легко и бы- стро заменить это значение во всем тексте программы.
Наименование
Имена констант должны удовлетворять нескольким критериям, в том числе:
начинаться с буквы;
состоять не более чем из 40 символов;
включать только буквы, цифры и символы подчеркивания ( _ ); использование зна- ков пунктуации и пробелов не допускается;
не совпадать с зарезервированными в Visual Basic ключевыми словами.
Чтобы в тексте программы названия констант было легко отличить от названий пе- ременных, присваивайте константам имена, состоящие из прописных букв, например:
Чтобы по имени константы можно было определить, к какому типу данных отно- сится ее начинайте имена с трехбуквенных префиксов, указывающих на тип данных:
и т.д.
1   ...   14   15   16   17   18   19   20   21   ...   30


написать администратору сайта