IDK1011 Click to edit Master title style Основы программирования Синтаксис языка программирования Visual Basic Общие правила языка • В одной строке, как правило, одно выражение (команда, инструкция). выражение1 : выражение2 Выражение 1 _ продолжение выражения • Расположение программного текста не регламентировано • Рекомендуется расположение кода лесенкой (indentation). По большей части автоматизировано. • ‘ коментарий от апострофа до конца строки (зеленого цвета) Переменные Имя переменных: • Могут содержать буквы, цифры и знак подчеркивания _ • Должно начинаться с буквы • Не может быть таким же как ключевое слово Visual Basic (выделяется синим цветом). Например sub, dim и т.д. • Заглавные и прописные буквы равнозначны Переменные Скалярные переменные и объекты Объявление переменных • Обязательно, если присутствует директива Options Explicit On • [видимость] [Shared] [[Static][Read-only]] Dim имя[,имя,…] As тип данных Видимость переменных • Public – переменная видна за пределами класса • Protected – переменная видна только классам наследующим данный класс • Private – переменная видна только внутри класса Shared, Static и Read-Only Shared – переменная доступна всем экземплярам данного класса. Static – статически объявленная переменная внутри процедуры продолжает существовать после завершения процедуры Read-Only – переменная с модификатором доступа только для чтения. Можно объявить только глобально. Константы. Типы данных Cкалярный тип данных Decimal, Long, Boolean, Single, Integer Комплексный тип данных Массив, структура, перечисление Тип объекта или класса Класс .NET Framework Label, TextBox, ... Интерфейс iComparable, iDisposable, … Типы данных По умолчанию – Object (если не задать явно) Распространенные типы данных: • Целочисленные: Integer, Long • Дробные: Single, Double • Дата, время: Date • Строка: String • Логическая: Boolean (true/false) http://msdn.microsoft.com/enus/library/vstudio/47zceaw7.aspx Примеры • • • • • • • • • Dim i, j, k As Integer Dim l, m As Long, x, y As Single Dim numberOfStudents As Integer Dim finished As Boolean Dim monitorBox As System.Windows.Forms.Form Dim bottomLabel As New System.Windows.Forms.Label Static Dim x As Decimal Read-Only NUMBER_OF_ITEMS As Decimal = 3 Private Dim objA As Object Область видимости переменных Зависит от места где объявлена переменная. • Локальные переменные – переменные объявленные внутри процедуры или обработчика. Разрушаются при завершении работы процедуры (если только переменная не объявлена как статическая) • Переменная класса – переменная объявленная внутри класса, но не внутри процедуры или модуля. Имеет спецификаторы доступа public protected private. Область видимости переменных • Общие / разделяемые (Shared) переменные – относятся к классу и видимы всем объектам этого класса. • Переменные объекта (Instance variables) – переменная доступная и видимая только внутри конкретного объекта класса. Массивы Переменные одного типа можно группировать в массивы: Dim students(10) As String Индекс первого элемента в массиве 0! Доступ к элементам массива: First = students(0); Second = students(1); Last = students(9); Операции над выражениями • Арифмечтиеские +-*/ \ (целочисленное деление), Mod,^ • Объединение строк: строка & строка • Присвоение значения += -= *= /= \= &= • Операторы сравнения > >= < <= <> • Логические операции (только над логическим типом Boolean) And, Or, Not Процедуры Sub имя(аргументы) инструкции подпрограммы End Sub Sub tell_name(name As String) Dim output As String output = “Your name is: ” output &= name MsgBox(output) End Sub Функции Function [имя(параметры)] As возвращаемый_тип инструкции функции [Exit Function] End Function Function sum(x As Integer, y As Integer) As Integer Return x + y End Function Result = sum(2,5) Выбор • If условие Then действие1 [Else действие2] • If условие Then действие1 [ElseIf условие2 Then действие2 … ] Else действиеN End If Выбор Select Case выражение Case значение1 действие1 Case значение2 действие2 … Case Else действиеN End Select Циклы For переменная = начальное_значение To конечное_значение [Step шаг] действие Next переменная For each переменная In массив действие Next переменная Циклы While условие действие End While Do [While|Until] условие действие Loop [While|Until] условие Выход: Exit For, Exit Do, Exit Sub, Exit Function Коллекции объектов Коллекция – множество объектов, элементы которого могут быть разных типов. Элемент определяется индексом или ключем (текстом). Создание коллекции: Dim col As Collection Col = New Collection или Dim col As New Collection Методы коллекции • col.Count() – количество элементов в колекции • col.Add(element,key) – добавление элемента в коллекцию • col.Item(index or key) – возвращает элемент из коллекции по заданному индексу или ключу. Индекс начинается с 1. • col.Remove(index or key) – удаление элемента из коллекции Стандартные функции • Преобразование типов CInt, CDate, CString, CSng ToString • Форматирование Format(value, format) • Проверка типа данных IsNumeric, IsDate, IsNothing If TypeOf переменная Is тип данных • Функции времени TimeSerial, DateSerial – составление временного значения Now – текущая дата и время Стандартные функции Today – текущая дата TimeOfDay – текущее время DateAdd, DateDiff – действия со временем DateInterval.* - временные интервалы AddInterval – добавить интервал DatePart – компоненты даты/времени • Year, Month, Day, Hour, Minute, Second • DayOfYear, … Weekday – день недели • Строковые функции Len, Mid, Left, Right, Trim, LCase, UCase, InStr, InStrRev, … Стандартные функции • Псевдослучайность Randomize, Rnd • Функции передачи данных MsgBox, InputBox • Цвет Color.fromArgb ???