Типы переменных в бейсике. Язык программирования Visual Basic. Типы данных. Описание переменных, констант, массивов. Двоичное и текстовое сравнение строк

Поскольку Visual Basic может сам определить тип переменной по ее значению (см. Variant ), то тип переменной можно не объявлять (не указывать). Однако, объявление переменных является правилом хорошего тона программирования, а так же позволяет избежать некоторых ошибок в программе, таких как неодинаковое написание имени переменной в разных местах программы, несоблюдения типов данных в вычислениях.

Переменную объявляют в начале окна кода или в начале процедуры с помощью оператора Dim такой записью:

Dim Имя_переменной As Тип_переменной

В качестве типа переменной указываются слова Byte, Long, String и другие из таблицы типов (см. выше).

Например:
Dim a As Byte
Объявлена переменная а типа Byte . В такую переменную можно поместить число от 0 до 255. При попытке присвоения переменной большего числа возникнет ошибка, а число, имеющее дробную часть будет округлено.

Dim b As String
Объявлена переменная b типа String . Эта переменная будет содержать текст (хотя текст может состоять и из цифр, но 2 плюс 3 будет 23).

При объявлении нескольких переменных можно перечислять их через запятую:
Dim a As Byte , b As String

После строки объявления можно присваивать значение переменной.

Например:
Dim a As Byte
a = 5

В Visual Basic переменные накапливают информацию (значения). При их применении Visual Basic занимают область в памяти компьютера, которая предназначена для сохранения этой информации.

Имена переменных, составленные из символов, могут иметь длину в 255 символов. Они начинаются с буквы, затем могут находиться другие буквы, цифры или символы подчеркивания. Регистр символов и наименований переменной не важен.

Все символы в имени переменной значимы, но их регистр не имеет значения. BASE обозначает такую же переменную, что и base. Но Base, Base 1 и Base I являются различными переменными . Visual Basic всегда заменяет первую букву переменной заглавной при определении.

Применение осмысленных имен помогает документировать текст программы и позволяет сделать процесс ее отладки намного легче. Выразительное имя переменной служит прекрасным способом объяснения смысла применения многих инструкций в коде программы.

Именем новых переменных не могут быть зарезервированные слова; например, Print не подходит для этого. Но такие слова могут использоваться как часть имени переменной, например: Printlt. Visual Basic будет показывать сообщение об ошибке, когда программист использует зарезервированное слово как название своей переменной, причем обычно непосредственно после нажатия клавиши ENTER.

Одно из наиболее общих соглашений об именах переменных состоит в использовании заглавных букв в начале каждого из слов, составляющих данное имя (например, Printlt, а не Printit). Данное соглашение называется «имена переменных со смешанным регистром». Иногда применяется и символ подчеркивания (например, PrintIt) , но его применяют не часто, так как это отнимает много места и иногда вызывает проблемы при отладке.

Visual Basic способен работать с 14 стандартными типами переменных. Также можно определить собственный тип данных. Рассмотрим некоторые из них, которые в основном применяются при работе с данными. String

Строковые переменные предназначены для того, чтобы хранить символы. Обозначить такой тип можно несколькими способами. Например, обозначать данный тип переменной с помощью добавления символа «$» к концу ее имени, например: AStringVariable$. Теоретически данная переменная может иметь до нескольких миллиардов символов. Однако на компьютере данное число будет намного меньше, так как накладываются ограничения на объемы оперативной памяти, ресурсы Windows или число символов, используемых в форме.

Наиболее часто строковые переменные применяются для выбора из полей ввода. К примеру, если есть поле ввода с именем Text1, в этом случае оператор ContentOfText1S = Text1.Text присваивает строку из поля ввода переменной в левой части такого оператора.

  • Boolean - булев тип данных может хранить только два значения: True либо False, истина или ложь. Его использование вместо целочисленных переменных является хорошим стилем программирования.
  • Byte - байтовый тип является новым в Visual Basic 5 и предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память и уменьшать размер массивов по сравнению с предыдущими версиями Visual Basic. Кроме того, он используется при работе с двоичными файлами.
  • Currency - данный тип отсутствовал в версиях GW-BASIC и QuickBASIC. Он создан для того, чтобы избежать ошибок при преобразовании десятичных чисел в двоичную форму и наоборот. (Невозможно 1/10 представить как сумму 1/2,1/4, 1/8, 1/16 и т.п.) Данный тип может иметь до 4 цифр после запятой, и до 14 - перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой символ "@". Поскольку все арифметические операции, кроме сложения и вычитания, выполняются так же медленно, как и в случае переменных с двойной точностью, данный тип является предпочтительным для проведения финансовых расчетов. (Для тех, кто интересуется: данный тип использует целые числа из 19 разрядов, которые затем делятся на 10000. Это позволяет организовать 15 знаков до запятой и 4 после нее.)
  • Date - этот тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программ обозначаются символами "#", например: NewYear = #January 1, 2000# Если вводится только значение даты, Visual Basic полагает, что время равняется 00:00.
  • Decimal - самый мощный числовой тип. Для хранения переменной подобного типа отводиться 16 байт. Отрицательная и положительная границы промежутка, в котором располагаются возможные значения этой переменной, одинаковы по модулю и равны +/- 79 228 162 514 264 337 593 543 950 335, если использовать целые числа. Если же необходимо хранить дробные величины, то границы возможных значений будут смещены на несколько порядков в зависимости от того, сколько знаков после запятой использует разработчик. Подобный тип может использоваться только для хранения десятичных дробей. Разработчик может использовать до 28 знаков после запятой.
  • Double - переменные такого типа позволяют хранить числа с точностью до 16 цифр и длиной до 300 символов. Идентификатором является "#". Вычисления с ними тоже являются приблизительными, а скорость их относительно небольшая. В основном переменные типа Double используются для научных расчетов.
  • Integer - целочисленные переменные могут хранить только относительно небольшие целые числа (в диапазоне от -32 768 до +32 767). Арифметические операции над такими числами выполняются очень быстро. Для обозначения такого типа используется символ "%": IntegerPerem% = 3
  • Long - данный тип впервые появился в языке QuickBASIC. В таких переменных хранятся целые значения от -2 147 483 648 до +2 147 483 647. Обозначается символом "&". Арифметические операции над такими числами выполняются тоже очень быстро, и при работе с процессором 386DX или 486DX существовала лишь небольшая разница в скорости вычислений между Long и Integer. LongPerem& = 123456789
  • Object - по сути, переменная подобного типа является всего лишь ссылкой на некий конкретный экземпляр какого либо объекта. Для хранения переменной отводятся 4 байта.
  • Single - идентификатором для данных чисел является символ "!". Данный тип переменной позволяет хранить дробные числа с точностью до семи цифр. Это означает, что если получается результат 12345678.97, то часть 8.97 не является точной. Результат может быть равен, к примеру, 12345670.01. Длина чисел может достигать 38 знаков. Вычисления с данными переменными тоже будут приблизительными. Более того, арифметические действия выполняются медленнее, чем с целочисленными переменными.
  • String - строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа "$" к концу ее имени, например: StringPerem$. Теоретически такая переменная может содержать до 2 миллиардов символов. В любом случае на конкретном компьютере это число будет гораздо меньше из-за ограниченных объемов оперативной памяти, ресурсов Windows или числа символов, используемых в форме. Одно из наиболее основных применений строковых переменных состоит в выборе информации из полей ввода.

Например, при изменении текста в текстовое поле 1, в текстовом поле будет отображаться тот же текст, но без последнего символа справа:

Option Explicit Dim strText As String Private Sub Form_Load() Text1.Text = "" Text2.Text = "" End Sub Private Sub Text1_Change() On Error Resume Next Text2.Text = strText strText = Left(Text1.Text, Len(Text1.Text) - 1) End Sub

Variant - данный тип добавлен в Visual Basic 5 из версии 2.0. Переменная типа variant может содержать данные любого типа. Если Visual Basic не знает тип принимаемых данных, необходимо использовать variant. Тип информации не имеет значения, поскольку variant может содержать любой тип данных (численный, дата/ время, строковый). Visual Basic автоматически производит необходимые преобразования данных, поэтому не стоит беспокоиться об этом. С другой стороны, можно использовать встроенные функции для проверки типа данных, хранящихся в переменной типа variant. Они позволяют легко проверить, правильно ли пользователь вводит информацию. Использование такого типа данных, как variant, замедляет работу программы, так как требуется время и ресурсы для операций преобразования типов. Кроме того, многие программисты понимают, что использование автоматических преобразований типов данных приводит к неаккуратному виду программ. Единственная причина в использовании variant состоит в возможных ошибках при преобразовании типов непосредственно программистом.

Иногда, при использовании некоторых операторов, API-функций, а также просто для собственных нужд необходимо создавать собственные типы данных. Часто их называют структурами. По своей сути структура - это как бы одномерный массив, который мы запихиваем в одну переменную. Но в него могут входить данные разных типов.

Создание собственного типа данных осуществляется с помощью инструкции Type, который используется в секции General кода формы.

Переменные предназначены для хранения и обработки данных. Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов.

Используемые символы.

Прописные и строчные буквы латинского и русского алфавитов;

Цифры от 0 до 9;

Знаки: . , ; ‘(апостроф) “ ()

Символ пробела

Знаки арифметических операций: + - * / ^ < > = <=(меньше или равно) >= <>(не равно)

Знаки: @ (коммерческое “эт”, # (диез), $ (знак доллара), %, &(амперсанд или коммерческое “и”), \ (косая черта), _ (подчеркивание), ! , ?

Представление чисел.

Числа в VB представляют собой последовательность цифр со знаком + или -, например: +7, -18, 32. Если в числе имеется дробная часть, то она отделяется от целой части точкой. При этом, если целая часть равна нулю, то ее можно опустить, например: 0.5, -5.68, -.12. описанная форма записи чисел носит название основной.

Кроме основной, возможна запись чисел в экспоненциальной форме (в форме с порядком), например: число 0.0095 можно записать 9.5E-4 , число 52000000 можно записать 52E+6 или 52E6. Латинская буква E называется порядком, перед которым обязательно должно следовать число в основной форме.

Типы переменных.

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

Dim переменная

Dim – ключевое слово, свидетельствующее о том, что объявляется переменная

переменная – имя переменной, которая объявляется

As – служебное слово, используемое при обозначении типа данных для объявляемой переменной

тип – тип данных для указанной переменной

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

В языках программирования ключевыми (служебными) словами называются такие слова, которые используются только для описания операторов и не могут использоваться программистом в качестве имен переменных. Среда программирования VB6 настроена таким образом, что при написании текста программы в окне кода все используемые ключевые слова по умолчанию будут обозначаться синим цветом, в то время как весь остальной текст изображается черным. Таким образом, программист может легко определить являются ли слова, которые он планирует использовать, например, в качестве имен переменных, ключевыми словами VB6 или нет.

В VB6 каждый оператор пишется в отдельной строке. Количество пробелов и знаков табуляции между частями оператора не имеет значения. Справа от любого оператора можно записывать комментарии для него, поясняющие оператор. Перед началом комментария ставится апостроф ‘. В записи оператора строчные и прописные буквы равноценны, поэтому для повышения читаемости текста программы служебные слова обычно начинаются с прописной буквы, например: Dim n


Чтобы расположить несколько операторов в одной строке, между ними ставится символ: Например: a = 1: b = 3

В случае необходимости расположения одного оператора на нескольких строках следует в конце каждой строки ставить символ подчеркивания, отделяя его пробелом от последнего символа строки. Например:

And z<0 Then p=x+y+z

Когда программист выбирает имя для своей переменной, он имеет широкие возможности, например, переменную, которая будет использоваться в качестве счетчика циклов, можно назвать стандартным именем i, но это имя не несет никакой смысловой нагрузки. С другой стороны, можно назвать переменную длинным составным именем, например NumberOfSelectedElements (количество выбранных элементов), которое будет достаточно информированным, но на написание такого имени в различных местах программы будет уходить много времени, поэтому не следует давать переменным длинные имена.

Ограничения на имена переменных:

Имя должно начинаться только с латинской буквы;

В имени не должно быть точек;

Необходимо соблюдать уникальность имен в рамках одной процедуры;

Количество символов в имени не должно быть более 255.

Зачастую для повышения информативности используемых переменных программисты используют в именах так называемые префиксы, которые определяют принадлежность данных к определенному типу.

Префиксы типов данных в имени переменных

Visual Basic также позволяет создавать собственные типы данных. Эта возможность важна тогда, когда вы имеете дело с группой элементов данных, которые связаны друг с другом, но при этом относятся к разным категориям данных. Вы можете создавать собственные типы ( UDT - user-defined type (тип, определяемый пользователем)) с помощью оператора Structure , а объявлять переменные, относящиеся к этим новым типам с помощью оператора Dim . Но имейте в виду, что оператор Structure не может быть расположен в процедуре события - он должен располагаться в верхней части кода формы вместе с другими объявлениями переменных, либо в коде модуля.

Например, следующее объявление создает пользовательский тип данных с именем Employee , который может хранить имена, дату рождения и дату найма на работу, относящиеся к данному сотруднику:

Structure Employee Dim Name As String Dim DateOfBirth As Date Dim HireDate As Date End Structure

После создания типа данных, вы можете использовать его в коде программы для формы или в процедурах событий модуля. Следующие операторы используют новый тип Employee . Первый оператор создает переменную с именем ProductManager и имеющую тип Employee , а второй оператор присваивает компоненте Name этой переменной имя "Эрик Коди":

Dim ProductManager As Employee ProductManager.Name = "Эрик Коди"

Похоже на установку свойств, не так ли? Visual Basic использует для связей между объектами и свойствами такую же форму записи, что и для связей между типами данных, определяемыми пользователем и компонентами переменных.

Константы: переменные, которые не изменяются

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

Const Pi As Double = 3.14159265

Этот оператор создает константу с именем Pi, которая может быть использована в коде программы вместо значения рi. Чтобы сделать константу доступной для всех объектов и процедур событий вашей формы, поместите этот оператор в верхней части кода вашей формы вместе с другими объявлениями переменных и структур, которые имеют область видимости, распространяющуюся на все процедуры событий формы. Чтобы сделать константу доступной из всех форм и модулей программы (а не только из Form1 ), создайте константу в коде модуля, указав перед ней ключевое слово Public . Например:

Public Const Pi As Double = 3.14159265

В следующем упражнении мы используем константы в процедуре события.

Использование константы в процедуре события
  1. В меню File (Файл) выберите Open (Открыть), а затем щелкните на Project (Проект). Появится диалоговое окно Open Project(Открыть проект).
  2. Откройте проект Constant Tester , расположенный в папке c:\vbnet03sbs\Гл.5\constant tester .
  3. Если форма проекта не отображается, щелкните в Solution Explorer (Обозревателе решений) на Form1.vb, а затем щелкните на кнопке View Designer (Просмотреть конструктор). В Windows Forms Designer (Конструкторе Windows Forms) появится форма Тест константы . Constant Tester - это "скелет" программы. Интерфейс пользователя завершен, но вы должны ввести код программы.
  4. Сделайте двойной щелчок мышью на кнопке Показать константу формы. В Редакторе кода появится процедура события Button1_Click .
  5. Введите в процедуре события Button1_Click следующие операторы:

    Const Pi As Double = 3.14159265 Label1.Text = Pi

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

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

    Щелкните на кнопке Показать константу . В поле метки появится константа Pi, как показано ниже.

    Чтобы остановить программу, щелкните на кнопке Выход .

    Константы полезны в коде программы, особенно при вычислении математических формул. Следующий раздел описывает, как использовать операторы и переменные для написания формул.

© 2024 tdv-elektro.ru
Windows. Железо. Интернет. Безопасность. Программы