Смекни!
smekni.com

Курс лекций по V B 5.0 (стр. 3 из 11)

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

ИмяОбъекта-контейнера.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” .

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.