Реферат: Курс лекций по V B 5.0
br>Методы объекта Printer:
Метод |
Содержание |
|
Печать страницы |
NewPage |
Перейти на новую страницу |
EndDoc |
Закончить работу с документом. (Освобождение памяти и пересылка страниц в диспетчер печати) |
Scale |
определяет координатную систему пользователя |
TextHeight |
Определяет высоту символа |
TextWidth |
Определяет ширину символа |
Пример. Форма содержит командную кнопку “Печать”. Программный код выводит на печать 2 страницы. На первой печатается “Стр.1”. На второй “Стр.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 задает тип отображаемых файлов или шаблон * , ?. По умолчанию фильтр установлен в значение *.* . Несколько фильтров отделяются друг от друга “; “ . Изменение свойства Pattern активизирует событие PatternChange.
Свойство 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 и меняется значение свойства Path.
Основные свойства Списка каталогов.
Свойство |
Содержание |
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
Страницы: 1, 2, 3, 4, 5, 6, 7, 8