Учебная работа. Реферат: Основы Visual Basic 50

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Основы Visual Basic 50

Базы Visual Basic 5.0

В приложениях VB 5.0 исполняемые строчки должны располагаться снутри процедур или функций. Операторы в VB изредка употребляют номера строк, а любые из их обычно начинаются с новейшей строчки. Строчки ограничены длиной в 1023 знака. можно расширять строчки, используя знак “_” опосля пробела в конце строчки. несколько операторов можно соединять воединыжды в одной строке, разделяя их “ : ”.

Комменты задаются верхней кавычкой (‘), или оператором REM. Комментарий быть может выведен отдельной строчкой, или в конце строчки. Во 2-м случае лучше применять кавычку (‘), чем REM, т.к. REM тут просит разделителя (:). к примеру,

DIM FARENG ‘ переменная для вычисления t0
по Фаренгейту

либо

DIM FARENG : REM переменная для вычисления t0
по Фаренгейту

Оператор End — программка останавливается. Опосля оператора End запираются все окна, открытые программкой, а сама она стирается из памяти. Снутри приложения VB быть может сколько угодно операторов End, но обычно лучше применять лишь один оператор End в процедуре обработки событий QueryUnload для главный формы. В этом случае все операторы End заменяются на Unload Me, который вызывает для себя QueryUnload для формы.

Одним из главных операторов является присваивание значения переменным и установка значений параметров.

К примеру,

1) Result = 0.5 ? 20

имя значение

переменной

Можно применять оператор LET

2) объект.свойство = значение

txtDisplay.Text = “ “

характеристики по дефлоту

У хоть какого объекта VB есть свойство по дефлоту. к примеру, для текстового поля это свойство Text. При ссылке на данное свойство можно не указывать его имя.

К примеру, txtDisplay=“Привет!”

Некие характеристики могут принимать значения TRUE либо FALSE. В VB5 имеются интегрированные константы для обозначения данных параметров, к примеру, cmdExit=False будет скрывать командную клавишу, пока не покажется выражение cmdExit=True.

Снутри себя VB употребляет

Можно применять последующее выражение для конфигурации характеристики на обратное

cmdExit.Visible = Not (cmdExit.Visible).

Переменные. Имена переменных наименее 255 знаков начинаются с буковкы, за которой следуют остальные буковкы, числа либо знак “_”. Регистр значения не имеет. В качестве имен переменных недозволено применять зарезервированные слова, к примеру, Print. Принято применять смешанный регистр при задании имен переменных, состоящих из нескольких слов, к примеру, CurrentValue.

Типы переменных. Употребляется 14 обычных типов переменных. Можно найти и свой тип. Главные типы:

String — строковые переменные. Для обозначения этого типа можно добавить знак “$” к концу имени.

К примеру, Message $ = txtDisplay.Text

Integer — целочисленная переменная в спектре -32768 ?+32767. Для обозначения в конце имени добавляется “%” арифметический оператор производится стремительно.

к примеру, IntVar% =5

LongInteger — длинноватое целое от -2147483648 до +2147483647. Обозначается “&”.

LongInt&= 123456789.

SinglePrecision хранит дробные числа с точностью до 7 цифр. Для на чисел может достигать 38 символов с обозначением “!”. Вычисления ч данными переменными будет ориентировочным.

DoublePrecision “#”. Числа с точностью до 16 цифр и длиной до 300 знаков. Вычисления тоже ориентировочны, а скорость маленькая. Употребляется для научных расчетов.

Currency — употребляется при преобразовании десятичных чисел в двоичную форму и напротив. Обозначение — “@”. Может иметь до 14 цифр до запятой и до 4 цифр — опосля. Употребляется для денежных расчетов.

Date — значения даты и времени от 00 час.1 января.100 года до 00час.31 декабря.9999 г.

Time = # May 5, 1999 #

Byte — для хранения целых чисел от 0 до 255. Сберегает оперативную память и размеры массивов. Употребляется также при работе с двоичными файлами.

Variant — данные хоть какого типа. Если VB не понимает тип принимаемых данных, употребляется этот тип. Внедрение его замедляет работу программ, т.к. просит времени и ресурсы для операций преобразования типов.

В отличие от остальных версий Basic в одной программке недозволено применять одни и те же имена переменных, различающихся лишь типом. к примеру, A% и А!

При первом использовании переменной VB временно присваивает переменной тип Variant и пустое

Можно не применять идентификаторы для обозначения типа переменной, а применять оператор Dim. Оператор Dim служит для объявления типов переменных.

Dim Years As Integer

Dim Amount As Currency

. . . .

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

Dim Years As Integer, Amount As Currency

Dim Result без типа присваивает переменной тип Variant.

Если в программке употребляются необъявленные переменные, просто допустить ошибку при написании их имени. В этом случае употребляется принудительное объявление переменных при помощи оператора Option Explicit. Этот оператор не употребляется в определенных процедурах обработки событий, а располагается в разделе General формы, чтоб быть легкодоступным всем процедурам обработки событий. Опосля того, как VB встречает оператор Option Explicit, он не дозволяет наиболее применять необъявленные переменные. Этот оператор можно применять для конфигурации значений по дефлоту.

Область видимости переменных

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

время от времени нужно, чтоб какая-то переменная была доступна всем процедурам формы. Такие переменные именуют переменными уровня формы либо модуля. Переменные уровня формы также объявляются в разделе General при помощи операторов Private либо Dim.

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

Это делается в разделе Declarations хоть какого модуля кода:

Public Amount As Single

либо Global Amount As Single

Когда VB вызывает функцию обработки действия, старенькые значения локальных переменных уничтожаются. Они принимают значения по дефлоту. Такие переменные именуются динамическими. Но в неких вариантах нужны статические переменные, которые не инициализируются повторно при вызове процедуры. Нередко такие переменные употребляются для счетчиков, их употребляют, чтоб создать элементы управления видимыми либо невидимыми. Чтоб объявить статическую переменную снутри процедуры нужен оператор Dim поменять на Static.

Static Amount As Single, Is_Visible As Boolean.

Если нужно, чтоб все переменные в процедуре были статическими, нужно добавить

Static Private Sub cmdLom_Click()

Строчки

Операция конкатенации для сложения нескольких строк + либо &

к примеру, A$ = “Иванов”

B$ = “Иван”

C$ = “Иванович”

D$ = A$ & B$ & C$

либо D$ = A$ + B$ + C$

Отличие. При помощи “&” можно соединять воединыжды строковые и остальные типы. к примеру, C = A% & B$, поменяется их тип на Variant.

Для перехода к новейшей строке при печати знаков (перевод каретки) употребляется интегрированная const VbCrLf. к примеру, чтоб порвать строчку в информационной панели либо в многостроковом текстовом поле можно

Message $ = “1-я строчка”

Message $ = Message $+VbCrLf + “2-я строчка”

MsgBox Message $

Замечание. Если в программке употребляются числа и они не присваиваются переменной Variant, то VB считает:

Если число не имеет десятичной точки и лежит в спектре от -327686 +32767, то это Integer.

Если не имеет десятичной точки и лежит в спектре для Long Integer, то это Long Int.

Если имеет десятичную точку и лежит в спектре для чисел с обыкновенной точностью (7 цифр), то это Single precision.

Если имеет десятичную точку, но лежит вне спектра, то это Double precision.

Такие ориентировочные расчеты нередко приводят к дилеммам. к примеру, VB считает, что тип результата с 2-мя целыми числами есть целое. к примеру итог Print 123456 ?789 выходит за рамки целого и возникает ошибка переполнения. Тогда нужно применять идентификатор хотя бы для одной переменной Print 123456& ?789.

Можно также применять интегрированные функции для преобразования типов, к примеру, LInt — округляет число до целого, Clong — до длинноватого целого, Cvar — конвертирует к Var.

Если выполняются операции с переменными Variant, то не возникает заморочек с преобразованием типов.

Кроме обыденных, десятичных чисел, VB употребляет двоичные и шестнадцатеричные. Крайние обозначаются с префиксом &H. к примеру, число 49 = &H31.

Шестнадцатиричные числа употребляются для кодировки разных цветов: хоть какой цветовой код состоит из 6 шестнадцатиричных цифр от &H000000& = 0 до &HFFFFFF& (длинноватое целое) (16777215).

Совершенно определенный цвет определяется количеством красноватого R, зеленоватого G и голубого цветов B во различных сочетаниях. В коде цвета VB две крайние числа означают количество красноватого, две средние — количество зеленоватого, а две 1-ые — количество голубого, к примеру

&H0000FF& — очень красноватый

&H00FF00& — очень зеленоватый

&HFF0000& — очень голубий

&H000000& — темный

&HFFFFFF& — белоснежный

&H00FFFF& — желтоватый (красноватый + зеленоватый)

&H808080& — сероватый (равные количества цветов)

Константы

Для постоянных значений в программке употребляются константы. Константы объявляются аналогично переменным, по этим же правилам: имя содержит не наиболее 200 знаков, 1-ый знак буковка. Если в программке употребляется лишь одна форма, то константу можно объявить в разделе DeclarationHous для объекта General. Либо же можно и конкретно в процедуре, но это ужаснее. Константу объявляют через зарезервированные слова Const. К примеру,

Const Pi = 3?14159

Const Course = “Informatics”

VB5 имеет лишь набор интегрированных констант, к примеру, VbCrLf либо VbOrOnly. Их можно вставлять в текст программки из окна Object Browser (F2 либо меню View). Чтоб вставить Const в программке:

Курсор должен быть в окне кода.

В окне Object Browser щелкнуть на кнопочке Copy to Clipboard.

Перейти в программке на пространство вставки и надавить Ctrl+V.

Интегрированные функции

Особенное информация хранится в текстовом формате либо в формате ariant. Внедрение же неявных преобразований типов из Variant нередко приводит к дилеммам и является наиболее неспешным.

Строковые функции:

= Space (число пробелов) — выдает строчку, состоящую из одних пробелов, при этом число знаков в строке определяется параметром в скобках.

= String (число, строковое выражение $) — сформировывает строчку, содержащую однообразные знаки.

к примеру, X$=String (10, “z”) — 10z

= Len (строковое выражение) — длина текущей строчки с неуввязками и написанными знаками.

= Mid (строчка, начало [, длина])

Mid (“Visual Basic”, 1,6) = “Visual”

Mid (“Visual Basic”, 8,6) = “Basic”

Mid (“Visual Basic”, 8) = “Basic”

Пример. Подсчет числа точек в строке

Points % = 0

Length % = Len (Text $)

For I% = 1 to Length %

If Mid (Text $, I%, 1) = “.” then

Points $ = Points $ + 1

End If

Next I%

= Left (cтрока, № до позиции)

= Right (строчка, с № позиции)

Функцию Mid можно применять для конфигурации содержания снутри текущей строчки. К примеру

X $ = “Best Basic”

Mid (X $,1,5) = “Quick”

какое количество знаков

с какого знака будет взято из новейшей строчки

вставляется новенькая

строчка поверх части старенькой

= Insert ([начальная позиция], строчка для поиска, подстрока)

является ли данная строчка частью иной строчки, выдает номер позиции, с которой начинается подстрока.

Text $ = “QuickBasic”

X $ = Instr (1, Text $, “Basic”)=6.

Если подстрока не найдена Instr возвращает нулевое

Пример.

If Instr (Text $, “?”) then

Print “знак найден”

Else

Print “Не найден”

End If

= LСase, = UСase — конвертирует все знаки строчки в нижний (верхний) регистр

Заместо Lcase $ Ucase$

= Str lomp — для сопоставления строк

Пусть X = StrComp (A$, B$) =

Если A$ либо B$ пуста, то х=NULL

Если применять StrComp (A$,B$,1) — регистр не учитывается, а если StrComp (A$,B$,0) — регистр учитывается.

= Trim (строчка $) — уничтожает пробелы начале и конце строчки

LTrim (строчка $) — уничтожает пробелы в левой части строчки

RTrim(строчка $) — уничтожает пробелы в правой части

Все строковые функции, кроме Mid, не изменяют строчку, а делают ее копию и позже с ней работают.

Управляющие структуры в программке

Определенные циклы

For ___ Next

For I% = 1 to 10 (% — целочисленный тип для убыстрения работы цикла)

Print I%

Next I%

Цикл заканчивается, не в тот момент, когда значение счетчика приравнивается конечному, а когда оно превосходит его.

Пример. Печать всеми доступными шрифтами экрана.

Private Sub Form_Click()

Dim I As Integer

For I=0 to Screen.FontCount — 1

FontName = Screen.Fonts (I)

Print “Это шрифт”; Screen.Fonts (I)

Next I

End Sub

Неопределенные циклы

Не производятся фиксированное число раз. Цикл может производиться либо нет зависимо от результата, вычисляемого снутри цикла

Do

Выражение

Loop Until производится условие

Пример. Проверка пароля

Private Sub Form_Load ()

Do

X$ = InputBox$ (“Пароль ?”)

Loop Until X$ = “VB”

End Sub

Для остановки нескончаемого процесса употребляют клавиши “Break” либо Run|End либо закрыть приложение. В программке можно применять оператор Exit Do (либо Exit For), которые переводят программку к оператору последующему опосля цикла.

Сложные неопределенные циклы

В неопределенных циклах проверка происходит в конце цикла и счетчика возрастает еще на 1. время от времени это вызывает избыточное обновление счетчика. Можно передвинуть проверку условия на начало цикла:

Do Until условие

тело цикла Выражение

Loop

Do While

Do

Loop Until аналогичен

Do

Loop While условие

Пример.

Do Do

Loop Until N>5 ? Loop While N <=5

Do While

Do

Выражение

Loop While условие

либо

Do While условие

Выражение

Loop

В таковых циклах можно соединять воединыжды несколько критерий, к примеру

Do While X<=0 and txtDisplay.Text=“ “

?

?

Loop

Цикл While /Wend

While условие

. . . . .

Wend

к примеру, While x>0

S = S+x

Wend

Быть может несколько вложенных циклов. Хоть какой Wend относится к наиблежайшему While. Do __ Loop дает структуру и упругость цикла.

Условные операторы

If условие Then оператор

к примеру, If N>=0 and N<=9 Then Print “Ok”

Оператор Select Case

Дозволяет обрабатывать несколько вариантов выбора.

Select Case переменная либо выражение

Case оператор проверки условия

действие 1

.

.

.

Case . . . . . .

действие n-1

End Select

Пример:

Select Case Ball

Case Is < 13 дозволяет проверить

Grade = 2

Case Is < 18

Grade = 3

Case Is < 22

Grade = 4

Case Else

Grade = 5

End Select

Пример 1. If ThenElse

Private Sub Form_QueryUnload(Cansel As Integer, UnloadMode As Integer)

X % = MgBox(“Вы убеждены?”, VbYesNo)

If X % = VbNo Then

Cancel = True

Else

Cancel = False

End IF

End Sub

Пример 2.

If optColor1.Value Then

Color$ = “Красноватый”

Else If optColor2.Value Then

Color$ = “Зеленоватый”

Else If optColor3.Value Then

Color$ = “Голубий”

Else

Color$ = “Белоснежный”

End If

Пример:

Select Case Den

Case 1

Print “Пн”

Case 2

Print “Вт”

.

.

.

Case 7

Print “Вс”

End Select

В фразе Case можно задавать значения переменной в виде спектра

Select Case Den

Case 1 to 5

Print “Рабочий денек

Case Else

Print “Выходной”

End Select

или перечислением вероятных значений

Select Case Den

Case 6,7

Print “Выходной”

Case Else

Print “Рабочий денек

End Select

Массивы

2 вида массивы: управляющие и массивы переменных (обыденные массивы либо списки).

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

Одномерные массивы либо списки определяются именованием и положением элемента в перечне. к примеру данные о выпуске продукции за 12 месяцев.

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

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

Динамические списки наиболее гибки в работе.

Списки могут быть видимыми всему приложению, данной форме (модулю) либо лишь одной процедуре.

Создание фиксированного перечня:

а) в форме (модуле). Описание помещается в разделе деклараций формы (модуля)

Dim Massiv$(20)

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

б) в границах всего проекта (глобальный)

Public Massiv(20) As String — 21 элемент от 0 до 20

либо Global

в) локальный массив, который сохраняется до последующего вызова процедуры

Private Sub ………..

Static Massiv A(20)

Создание динамических массивов.

а) в форме

В размере декларации формы Dim DYNMAS() As String

А снутри процедуры выделяем подходящий размер

Private Sub ………..

Dim N %

ReDim DYNMAS(N) As String

При работе команды ReDim информация в массиве пропадает.

Для сохранения инфы при изменении размера массива

ReDim Preserve DYNMAS(N+1) As String

либо (N-1) удалит крайний элемент

б) Глобальный динамический перечень, видимого в границах всего проекта

Public DYNMAS() As String

либо Global

Дальше можно применять ReDIM в хоть какой процедуре всего проекта.

Ввести данные в массив можно при помощи INPUT BOX, текстового поля.

Для конфигурации нумерации в массиве не с 0, а с 1 — оператор Option Base 1 в разделе деклараций формы (модуля).

Можно задавать массив спектром значений

вместоDim A(19)

Dim A (1980 TO 2000)

Освобождение ОП от динамический массивов Erase DYNMAS/ Для фиксированных списков Erase лишь очищает массив.

окна ввода

Окна ввода- это иная возможность, кроме текстовых полей, для ввода инфы. Функция InputBox$ выводит на экран модальную диалоговую панель, которая в отличие от текстовых полей имеет фиксированный размер окна. У окна ввода есто строчка заголовка и 4 элемента: подсказка, командные клавиши OK и Cancel и поле ввода. Синтаксис функции: Строковая переменная=

InputBox(“подсказка”[,заголовок][поумолчанию][,X][,Y][,файл справки, контекст])

где подсказка- текстовая строчка либо строковая переменная (1024 знака),

заголовок -содержание строчки заголовка окна,

по дефлоту — изначальное содержимое окна ввода,

X,Y- расстояние меж левым (верхним) краями экрана и окна ввода. Если характеристики не заданы, то окно размещается по центру на 1/3 высоты экрана.

к примеру, MyInput$=InputBox(“Введи число”, “Запрос”,”0”,100,200)

Вывод инфы

Для вывода инфы конкретно на форме употребляется способ Print. Его синтаксис:

имя формы.Print выражение

к примеру: frmHello.Print “Привет !”

VB5 выводит информацию, начиная с того места, которое определяют характеристики CurrentX и CurrentY- горизонтальная и вертикальная позиции. При использовании способа Cls для чистки содержимого формы CurrentX и CurrentY=0 и способ Print выводит информацию, начиная с левого верхнего угла.

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

ИмяОбъекта-контейнера.Font.свойство=

?К примеру, frmHello.Font.Name=“Arial”

frmHello.Font.Size =20

frmHello.Font.Bold=True и т.д.

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

Печать табличных данных

В VB5 печать текста можно производить в данном формате. Зона имеет размер в 14 знаков. В главном зоны употребляются при печати диспропорциональными шрифтами типа Courier, т.к. любая колонка по ширине равна среднему значению ширины знака. Если характеристики в способе Print разбиты запятыми, то данные выводятся в нескольких зонах. к примеру:

Me.Print Family$,Name$

Опосля обработки выражения способом Print, делается переход на новейшую строчку. Если употребляется Print без характеристик, выводится пустая строчка. Если не необходимо перебегать на новейшую строчку, в конце строчки вставляется знак”;”. Для печати с данной колонки можно применять функцию Tab, к примеру:

Print Tab (номер колонки %);

Для вставки обозначенного числа пробелов, начиная с текущей позиции, употребляется функция Spc (число пробелов %)

Функция Format

Для вывода числовых данных в подходящем формате употребляется функция

Format( числовое выражение, строчка формата $)

Результатом данной функции является строчка, в какой выражение представлено по данному формату. к примеру:

Me.Print Format(123.456789,”###.###”)

дают итог 123,46. Незначащие нули сначала и конце числа игнорируются. Для вывода незначащих нулей употребляется формат “000.00”. Если нужно вывести знаки “- “, “+”, “$”,”(“,”)” либо пробел, их располагают конкретно в формате. к примеру:

Me.Print Format(Amount,”$###.###”)

Именованные форматы

Именованные форматы являются встроенными форматами VB5 и упрощают работу по форматированию выводимого текста.


Именованный формат
Описание

General Number
Строчка цифр без разделителя для тыщ

Currency
Выводит 2 числа справа от дес. точки и учитывает разделителя для тыщ

Fixed
По последней мере одна цифра слева и две справа от десятичной точки

Standard
То же и разделитель тыщ

Percent
Число в виде процента. Выводит две числа справа от дес.точки

Scientific
Научная форма

Yes/No
Если число равно 0, то выводит No, по другому Yes

True/False
Если число равно1, то выводит True, по другому False

On/Off
Если число равно1, то выводит On , по другому Off

General Date
Выводит дату и/либо время. Если отсутствует дробная часть, выводится лишь дата, если целая часть, то- время.К примеру 23.12.98 10:30:45

Long Date
Полный формат Windows для вывода датыWedn 23 Dec 1998

Medium Date



Обыденный формат Windows для вывода даты 23- Dec-98

Short Date
Сокращенный формат Windows для вывода даты 23.12.98

Long Time



время в час, мин, сек

Medium Time
время в12-часовом формате: час, мин и AM/PM

Short Time
время в час, мин в 24-часовом формате

к примеру,

Me.Print Format(Amount, “Currency”)

Me.Print Format(Amount, “###,###.##”)

Me.Print Format(Now, “General Date”)

объект Printer

Vb5 дозволяет просто устанавливать характеристики принтера, применяемого в системе.

Команда PrintForm выводит на принтер графический образ окна формы. Ее синтаксис: ИмяФормы.PrintForm

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

Обыденный метод вывода инфы на принтер состоит в использовании способа Print, связанного с объектом Printer. способ Print учитывает ориентацию странички и может применять характеристики CurrentX и CurrentY для четкого позиционирования текста и точек на страничке. Его синтаксис:

Printer. Print текст

При всем этом сохраняются способности способа Print : “;” “,” Tab, Spc, также возможность управления качествами шрифта:

Printer. Font.Name = “Aryal”

Printer. Font.Size = 18

А изменение шрифта принтера не влияет на предшествующий текст.

Характеристики объекта Printer:


Свойство
Предназначение
значения

ColorMode
описывает тип принтера

1-монохромный

2- цветной




Page
номер текущей странички

Pages
количество страничек

Copies
количество печатных копий

PrintQuality
свойство печати (если это поддерживает драйвер принтера)

1- предварительная печать

2-низкое разрешение

3-среднее разрешение

4-высокое разрешение




CurrentX, CurrentY
Текущие координаты текста

Fonts
доступные шрифты принтера

FontCount
кол. доступных шрифтов принтера

Font.Name,Font.Size, Font.Bold,Font.Italic
свойства шрифта

ScaleMode
ед. измерения масштаба странички

0-пользователя

1-твипы (по дефлоту)

2-пункты

3-пикселы

4-символы

5-дюймы

6-мм

7-см




ScaleLeft
Расстояние от левой границы

ScaleTop

ScaleWidth

ScaleHeight

способы объекта Printer:


Способ
Содержание

Print
Печать странички

NewPage
Перейти на новейшую страничку

EndDoc
Окончить работу с документом. (Освобождение памяти и пересылка страничек в диспетчер печати)

Scale
описывает координатную систему юзера

TextHeight
Описывает высоту знака

TextWidth
Описывает ширину знака

Пример. Форма содержит командную клавишу “Печать”. Программный код выводит на печать 2 странички. На первой печатается “Стр.1”. На 2-ой “Стр.2” .

Private Sub cmdPrint_Click()

Printer.Print “Стр.”+Str(Printer.Page)

Printer. NewPage

Printer.Print “Стр.”+Str(Printer.Page)

Printer. EndDoc

EndSub

Объект Screen.

объект Screen дозволяет управлять размещением форм и выводом инфы на дисплее.

характеристики Объекта Screen.


Свойство
Предназначение

MousePointer
указатель мыши

Fonts
доступные шрифты экрана

FontCount
кол. доступных шрифтов экрана

Width
ширина экрана (в твипах)

Height
высота экрана

Способов нет.

Пример. Установить размер формы равной 50% от размера экрана.

Private Sub Form_Load()

Me. Width=Screen. Width/2

Me. Height=Screen. Height /2

EndSub

Работа с файлами.

Элементы управления для работы с файлами

FileListBox- перечень файлов.

Списки файлов выводят по дефлоту названия файлов в текущем каталоге. Большая часть параметров перечня файлов подобны обыкновенному списку (размеры, размещение на форме, цвет, шрифт, вертикальная линейка прокрутки). Аналогично списки файлов могут реагировать на все действия обыденных списков. Но для выбора файлов обычно употребляется не одинарный, а двойной щелчок мыши DblClick.

Главные характеристики Перечня файлов:


Свойство
Содержание

List
Массив членов перечня файлов

ListCount
Кол. членов перечня файлов

ListIndex
Индекс массива

FileName
Обозначение файла

Path
Текущий Путь для перечня файлов

Pattern
Фильтр, шаблон. Задает вид отображаемых в перечне файлов

к примеру, имя избранного файла можно найти как filFile.List(ListIndex) либо как свойство FileName. Вывести перечень файлов в массив FileNames$( I%) можно при помощи последующего кода:

For I%=0 to filFile.ListCount — 1

FileNames$(I%) = filFile.List(I%)

Next I%

Свойство Pattern задает тип отображаемых файлов либо шаблон * , ?. По дефлоту фильтр установлен в

Свойство Path устанавливает либо возвращает текущий путь для перечня файлов. Но для конфигурации текущего пути в операционной системе следует применять команду ChDir. Изменение характеристики Path активизирует событие PathChange. Изменение характеристики FileName активизирует событие и PatternChange и PathChange.

Действия Перечня файлов:


Действия
Описание

Click

DoubleClick

MouseDawn

MouseUp

MouseMove

KeyUp,KeyDawn,KeyPress

DragDrop, DragOver

GotFocus,LostFocus

PathChange
Изменение текущего пути для перечня файлов

PatternChange
Изменение шаблона для отображения файлов в перечне

Пример действия PathChange

Sub File1_PathChange ()

Label1.Caption = «Path: » & Dir1.Path’ Show path in label.

End Sub

Sub Dir1_Change ()

File1.Path = Dir1.Path’ Set file path.

End Sub

Sub Form_Load ()

Label1.Caption = «Path: » & Dir1.Path’ Show path in label.

End Sub

Sub Drive1_Change ()

Dir1.Path = Drive1.Drive’ Set Dir path.

End Sub

Sub Dir1_Change ()

File1.Path = Dir1.Path’ Set File path.

End Sub

DirectoryListBox- перечень каталогов.

Отран управления DirListBox — показывает дерево каталогов текущего диска. содержимое перечня каталогов обновляется при двойном щелчке мыши. Подкаталоги текущего каталога нумеруются от 0 до ListCount — 1. Сам текущий каталог имеет индекс -1, родительский -2, выше -3 , …При двойном щелчке мыши вызывается событие Change и изменяется

Главные характеристики Перечня каталогов.


Свойство
Содержание

List
Массив членов перечня каталогов

ListCount
Кол. членов перечня каталогов

ListIndex
Индекс массива

Path
Текущий Путь для перечня каталогов

Parent
Для доступа к свойствам, событиям и способам родительской формы данного элемента

Действия Перечня каталогов


Действия
Описание

Click

MouseUp, MouseUp, MouseMove

KeyUp,KeyDawn,KeyPress

DragDrop, DragOver

GotFocus,LostFocus

Change
Изменение в перечне каталогов

Для того. чтоб изменение в перечне каталогов отразилось перечне файлов, можно применять функцию:

Private Sub dirBox_ Change()

filFile1.Path = dirBox.Path

End Sub

При всем этом для перечня каталогов Path показывает избранный каталог, а для перечня файлов — каталог, файлы которого отражаются в перечне.

DriveListBox- перечень дисков.

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

Главные характеристики Перечня дисков


Свойство
Содержание

Drive
Описывает текущий диск

ListCount
Кол. членов перечня дисков

ListIndex
Индекс массива дисков

List
Массив членов перечня дисков

Parent
Для доступа к свойствам, событиям и способам родительской формы данного элемента

Действия Перечня дисков


Действия
Описание

KeyUp,KeyDawn,KeyPress

DragDrop, DragOver

GotFocus,LostFocus

Change
Изменение в перечне дисков

Главным свойством является свойство Drive , которое употребляется для получения и установки текущего диска. Это свойство употребляется для синхронизации работы перечня дисков и перечня каталогов. К примеру,

Private Sub drvBox_ Change()

dirBox.Path = drvBox. Drive

Ch Drive drvBox. Drive ‘ Если необходимо поменять текущий диск ОС

End Sub

Файлы поочередного доступа

Употребляются когда:

а) изредка вносятся конфигурации

б) информация в файле обрабатывается от начала до конца

в) если необходимо добавлять информацию в конец файла.

Для совершения операции чтения либо записи с файлом его необходимо открыть командой Open. Опосля Open следует имя файла, строковая переменная либо строчка в двойных кавычках. Если файл не текущем каталоге, необходимо указать путь к нему.

Запись инфы в файл:

Open “название файла” for Output as # 1

# 1 — это идентификатор файла — число от 1 до 255 с эмблемой #. Наибольшее число сразу открытых файлов определяются параметром в Config.sys.

По команде Open резервируется файловый буфер в памяти компа. По мере наполнения буфера активизируются соответственный диск и весь блок инфы посылается непрерывным потоком на диск (количество будет устанавливаться в Config.sys). Опосля окончания работы с файлом он запирается командой Close # идентификатор файла. Команда Close сбрасывает информацию на диск и очищает буфер. Для сброса содержимого буфера на диск (в критичных ситуациях) употребляется команда Reset. Для ввода инфы в файл можно применять команду Print #

“ Запись в файл

Open “File 1” For Output As #1

Print #1, “1 2 3 4 5 ” либо Print #1, txtDisplay.Text

Close #1

Если в текущем каталоге есть файл с таковым именованием, то данной нам командой он будет уничтожен.

Close без характеристик закрывает все файлы.

Для определения размера открытого файла можно применять команду LOF (идентификатор файла)

Open “File 1” For Output As #1

Print #1, “1 2 3 4 5 ”

Print LOF(1)

Заместо Print можно применять Write # идентификатор файла, перечень переменных.

Чтение из файла

Open ”название файла” For Input As # идентификатор файла

Задается вольный идентификатор, который в данный момент не употребляется в программке. Либо так:

FileNumber % = FreeFile

Open “название файла” For Input As # FileNumber %

Опосля этого можно применять оператор Line Input # для построчного чтения инфы из файла:

Open “File1” For Input As #1

Line Input #1, A$ воспринимает в A$ всю информацию до Enter

Print A$

Close #1

Или Input # идентификатор файла, перечень переменных, если запись при помощи Write, txtDisplay

Если файл сложной структуры, состоит из полей и записей, то файл будет читаться целыми записями командой LineInput, или можно информацию читать из отдельных полей командой Input #

к примеру, чтение записей из файла Spisok в массив

1. Определяем тип юзера

Type StudentRecord

Name As String

Adress As String

End Type

2. Объявляем массив записей типа Student как глобальную переменную

Global StudentAdress( ) As StudentRecord

Sub Proc( )

Dim FileNum As Integer, I As Integer

ReDim StudentAdress(1 to 150)

FileNum = FreeFile

Open “Spisok” For Input As # FileNum

For I=1 to 150

Input #FileNum, StudentAdress(I).Name

Input #FileNum, StudentAdress(I).Adress

Next I

Close FileNume

End Sub

Чтение текстового фала в текст, поле

. . . .

FileNum = FreeFile

Open “My.txt” For Input As FileNum

txtDisplay.Text=Input(LOF (FileNum), FileNum)

Close #FileNum

где LOF(FileNum) размер файла в б

Дозапись инфы в имеющийся поочередный файл

При всем этом строчки, которые будут выведены в файл присоединяются к строчкам, которые уже содержаться в файле. Для этого служит оператор

Open “название файла” For Append As # идентификатор файла

При всем этом:

— VB открывает файл, а если он не существует, то делает и делает соответственный буфер;

— находит конец файла на диске;

— готовит к записи в конец файла.

Пусть существует текстовый файл My.txt и необходимо дописать в его конец строчку “Доскорого свидания”:

FileNum=FreeFile

Open “My.txt” For Append As FileNum

Print #FileNum, “Доскорого свидания”

Close #FileNum

При обработке огромных файлов нередко нужно инспектировать на достижение конца файла. Для этого существует оператор EOF (идентификатор файла).

Фрагмент программки чтения инфы из файла, сделанного при помощи оператора Print #

. . . . .

B$ = “ ”

FileNum=FreeFile

Open “My.txt” For Input As #FileNum

Do Until EOF(FileNum)

Line Input #FileNum, A$

B$=B$+A$

Loop

txtDisplay.Text=B$

Close #FileNum

Файлы прямого доступа

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

При разработке файла указывается наибольшая длина имеющейся записи. Команда сотворения файла:

Open “MyLib.dat” For Random As # идентификатор файла

Len = длина записи, можно определять при помощи функции Len (имя переменной записи) в текущем каталоге.

Открытый файл прямого доступа быть может прочитан и записан фактически сразу.

Close # идентификатор файла — закрывает файл.

Любая запись в файле имеет номер записи. Это дозволяет работать с определенной записью. При описании записи задаются пользовательским типом:

Type Books

Auther As String *30

Title As String *40

End Type

Запись, содержащую пятой записи файла в переменную:

Get #FileNum, 5, NewBook (если NewBook типа Books)

Запись из переменной в сороковую запись файла:

Print #FileNum, 40, NewBook

Сделанные типы записей определяют размер файла прямого доступа. Размер файла определяется функцией FileLen (“название файла”). Размер записи Len(NewBook) в б.

]]>