Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Программирование!!!.docx
Скачиваний:
18
Добавлен:
04.04.2018
Размер:
219.34 Кб
Скачать

Печать из программы

Мы имеет в делфи объект printer:класса Tprinter. Uses Printers; Объект принтер содержит свойство canvas. При отрисовке на нем произвольной информации она будет выводиться на экран и на принтер. Свойство канвас объекта принтер доступен только тогда. Когда принтер подготовлен физичски к печати. Для программной подготовки свойства канвас используются методы.

Procedure BeginDoc; …рисуем

Procedure EndDoc; 1й метод определяет начало печати и создает экземляр класса тканвас . 2й указывает на завершение печати, после него свойство канвас сново не доступно.

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

…. printer.BeginDoc; printer.Canvas.OutText (50,50,’проверка принтера’); printer.EndDoc;

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

Было печать графики.

Печать текста.

Для вывода только текста используем другой подход. Есть процедура assingPrn она связывает файловую переменную типа текстфайл с принтером. Далее write или writeln выведут информацию на принтер.

Пр.

…. Button1Click…

Var MyFile:Texfile;

Begin assingPrn(MyFile); rewrite(MyFile); writeln(MyFile,’проверка’); System.CloseFile(MyFile); end;

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

{$I+Y} В случае невозможности открыть файл исключительная ситуация не возникает, а проверить результат можно, обратившись программно к стандартной функции IoResult она возвращает 0 если ошибок не было или не нулевой код ошибки.

Пр. If IoResult <>0 ten showmessage (‘Ошибка ввода’)

Поиск файлов. Процесс поиска файлов выполняется в делфи в 3 этапа

  1. Находится первый файл удовлетворяющей заданной маске. Function FindFirst (параметры) (const Path:string; Attr:integer; var F:TSearchrec):integer;

Можно указать набор атрибутов учитываемое при отборе файлов. Эти атрибуты были указанны при описании FileGetAttr. Результат поиска в REC имеющий тип TSearchRec

Type TSearchRec=record time:integer; size:integer; (потому что в формете дос) Name:TFileName; FindHandle: THandle; end;

  1. Function FindNext (var F:TsearchRec):integer на основании переменной F полученной по функции возвращает в переменной F имя следующего файла в каталоге. Переменная F должна предварительно инициализироваться обращением к функции FindFirst. При успешной поиске возвращает значение 0

  2. FindClose (var F:TsearchRed); освобождает память, которая была выделена для процесса поиска.

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

API – функции доступны после установки модуля. При создании программ для виндовс нужны компоненты виндовс. Для работы с ними не нужно создавать специальные файловые переменные. Потому что в виндовс файл имеет уникальный цифровой индентификакор и называется handle.

Создание файла: 1) function FileCraate (const FileName:string):integer; ? или минус 1?.

2) Function FileOpen(const FileName:string; Mode:LongWord):integer; Mode => fmOpenread fmOpenwrite fmOpenReadWrite 3) Function Fileread(Handle:integer; var Buffer,count:integer):integer;

Filewrite(….) 4) procedure closeFile(Handle)