Объявление и инициализация строк

 

Строковые переменные являются данными типа String и должны быть объявлены следующим образом:

 

DimИмяПеременнойAs String

 

Присвоение значений переменным строкового типа, как и переменным других типов, производится либо при объявлении переменной (при инициализации), либо оператором присваивания:

 

DimИмяПеременнойAs String = "строка символов" ИмяПеременной = СтроковоеВыражение

 

Где, СтроковоеВыражение представляет собой:

· строковый литерал – последовательность символов, заключенных в двойные кавычки;

· строковую именованную константу либо строковую переменную;

· результат операции с участием строковых выражений;

· результат любого допустимого выражения, преобразованного в строковый тип.

 

Строковая именованная константа должна быть обязательно инициализирована при объявлении:

 

Const name = "ГОУ ""МТУСИ"""

 

Обратите внимание, что если в строку нужно включить двойную кавычку, то после нее ставят еще одну двойную кавычку.

Как известно, во избежание неконтролируемых неявных преобразований типов всегда необходимо использовать режим строгого контроля типов, включаемый оператором Option Strict On. Причем для явного преобразования любого числового типа в строку можно использовать функцию CStr() или метод ToString() класса Convert.

 

Dim chislo As Double chislo = 3.14 Dim str1 As String = Convert.ToString(chislo) Dim str2 As String = CStr(chislo)

 

Напомним также, что обратное преобразование из строки в число можно выполнить с помощью функции Val(), CDbl(), CInt() и т.д. или с помощью соответствующих методов класса Convert:Convert.ToDouble(), Convert.ToInt32( ) и т.д.

Например:

 

Dim chislo As Integer = Convert.ToInt32(TextBox1.Text) Dim dlina As Double = Convert.ToDouble(TextBox2.Text) Dim v As Single = CSng(TextBox3.Text)

В Теме 2 настоящего пособия были подробно изложены средства явных преобразований. Еще раз обращаем внимание на то, что в числовой переменной разделителем целой и дробной частей является точка, а в строке – запятая, в противном случае произойдет ошибка. Это относится ко всем вышеперечисленным функциям и методам, кроме функции Val(), которая в качестве разделителя целой и дробной частей принимает только точку. Во избежание ошибок необходимо перед преобразованием строки в число проверять разделитель целой и дробной частей.

 

 

4.9.3. Средства для ввода/выводаи отображения строк

 

Простейшим способом отображения в программе текстовых строк, вводимых с клавиатуры, а, следовательно, и из текстового файла, яв­ляется использование объекта текстового поля. Как известно, объекты текстового поля могут иметь любые размеры. Если содержимое текстовой информации не помещается в текстовое поле, к текстовому полю можно добавить полосы прокрутки так, чтобы пользователь смог увидеть весь текст.

Для ввода строковых данных и отображения их на форме могут использоваться известные элементы управления TextBox, ListBox, ComboBox. Причем для отображения нескольких строк в текстовом поле свойство Multilineустанавливается в значении True.Для отображения строковой информации на форме, не подлежащей редактированию пользователем, используется элемент управления Label. Отображать текстовую информацию в качестве заголовков можно также на кнопках, в заголовке окна формы и т.д. Для отображения используется свойство Text этих элементов. Например,

 

Label1.Text="Введите место рождения"

 

Для того чтобы текст оставался до определенного времени невидимым, его свойству Visible первоначально надо присвоить значение False, а затем, когда нужно это поле отобразить, свойству Visibleприсваивается значение True.

Напомним, что типы данных в VB являются классами и управляются из пространства имен System, а классы, в свою очередь, состоят из методов и свойств.

Значение свойства Text всех элементов управления имеет тип String. Поэтому для записи числового значения в свойство Textэлемента управления необходимо произвести явное преобразование в тип String, например методом ToString соответствующего типа данных или соответствующей встроенной функцией CStr():

 

Dim ЧислоДней As Integer = 31 Label1.Tex t = ЧислоДней.ToString Label2.Text = CStr(ЧислоДней)

 

Здесь переменная ЧислоДней обрабатывается методом ToString(),который принадлежит классу Integer или функцией CStr(). Для явного преобразования можно также воспользоваться методом класса Convert:

 

Label1.Text = Convert.ToString(ЧислоДней)

 

При включенном режиме строгого контроля типов Option Strict On отсутствие явного преобразования вызовет ошибку.

Значение, вводимое из поля Textэлементов TextBox, ListBox,
ComboBox
в переменные числовых типов, также надо преобразовывать из строки в число. Для этого существуют соответствующие функции VBи методы класса Convert:

 

Dim ЧислоДней As Integer = Convert.ToInt32(TextBox1.Text) Dim Длина As Double = Convert.ToDouble(TextBox2.Text) Dim Скорость As Single = CSng(TextBox3.Text)