Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб11_ЮСБ.doc
Скачиваний:
13
Добавлен:
21.12.2018
Размер:
1.78 Mб
Скачать

Блок-схема алгоритма программы: печать заштрихованного квадрата на струйном принтере epson Stylus с интерфейсом usb

Листинг программы для работы с принтером (ос Windows хр) через интерфейс usb.

unit Ps;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls, Jpeg, Printers, ComCtrls;

type

TForm1 = class(TForm)

ListBox1: TListBox;

Button1: TButton;

Bevel1: TBevel;

Bevel2: TBevel;

Memo1: TMemo;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

Bevel3: TBevel;

Memo2: TMemo;

Button3: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

Button5: TButton;

Image1: TImage;

Bevel5: TBevel;

Label7: TLabel;

Button6: TButton;

Label8: TLabel;

Button7: TButton;

Button8: TButton;

PrinterSetupDialog1: TPrinterSetupDialog;

Bevel6: TBevel;

PrintDialog1: TPrintDialog;

Bevel7: TBevel;

Bevel4: TBevel;

Label9: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

ListBox1.Clear;

ListBox1.Items:=Printer.Printers;

ListBox1.Sorted:=true;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

Stroka:System.Text;

i:integer;

begin

//печать в текстовом режиме

AssignPrn(Stroka);//связь текстовой переменной с принтером

Rewrite(Stroka);

Printer.Canvas.Font:=Memo1.Font;

for i:=0 to Memo1.Lines.Count-1 do

Writeln(Stroka,Memo1.Lines[i]); // построчная печать строк

System.Close(stroka); // разрыв связи после печати

end;

procedure TForm1.Button3Click(Sender: TObject);

var

x,y,i:longint;

begin

Printer.Canvas.Font:=Memo1.Font;

Printer.BeginDoc;

x:=0; // координаты начала вывода текста

y:=0;

for i:=0 to Memo1.Lines.Count-1 do

begin // TextExtent - высота строки

Printer.Canvas.TextOut(x,y,Memo1.Lines[i]);

y:=y+Printer.Canvas.TextExtent(Memo1.Lines[i]).cy; // на след. строку

end;

Printer.EndDoc;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

//выводимое изображение содержится в образе Image1

Printer.BeginDoc;

Printer.Canvas.Draw(100,100,Image1.Picture.Bitmap);

Printer.EndDoc;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

//на листе рисуются прямоугольник и круг

Printer.BeginDoc;

Printer.Canvas.Rectangle(485,145,540,200);

Printer.Canvas.Ellipse(525,144,580,200);

Printer.EndDoc;

end;

procedure TForm1.Button6Click(Sender: TObject);

var

logo:TBitMap;

begin

//загрузка логотипа

logo:=TBitMap.Create;

logo.LoadFromFile('dollars.bmp'); //логотип

//начало вывода

Printer.BeginDoc;

//вывод логотипа

Printer.Canvas.Draw(100,100,logo);

//вывод реквизитов

Printer.Canvas.Font.Name:='Courier';

Printer.Canvas.Font.Style:=[fsBold]+[fsItalic];

Printer.Canvas.Font.Size:=14;

Printer.Canvas.TextOut(Printer.PageWidth div 2,100,'IPY');

Printer.Canvas.Font.Style:=[];

Printer.Canvas.Font.Size:=10;

Printer.Canvas.TextOut(Printer.PageWidth div 2,200,'Kafedra EVM');

Printer.Canvas.Font.Size:=10;

Printer.Canvas.TextOut(Printer.PageWidth div 2,300,'Ivanovskiy Y.G.');

//вывод разделительной линии

Printer.Canvas.Pen.Style:=psDash;

Printer.Canvas.MoveTo(100,310);

Printer.Canvas.LineTo(Printer.PageWidth-100,310);

//завершение вывода

Printer.EndDoc;

//удаление экземпляра объекта TBitMap

logo.Free;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

Form1.Canvas.Pen.Mode:=pmNot;

Form1.Canvas.Pen.Width:=5;

Form1.Canvas.Pen.Color:=clGreen;

Form1.Canvas.Rectangle(585,45,640,100);

Form1.Canvas.Ellipse(625,44,680,100);

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

PrinterSetupDialog1.Execute;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]