【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了MenuPrintForm.pas相关资料,希望对各位网友有所帮助!
unit MenuPrintForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Printers, StdCtrls, Grids, DBGrids;
type
TFrmMenuPrint = class(TForm)
PrintDialog1: TPrintDialog;
Button1: TButton;
Label1: TLabel;
ComboBox1: TComboBox;
DBGrid1: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMenuPrint: TFrmMenuPrint;
implementation
uses DataM;
{$R *.dfm}
procedure TFrmMenuPrint.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TFrmMenuPrint.Button1Click(Sender: TObject);
var
i:integer;
OD:String;
begin
if ComboBox1.Text='菜单ID' then
OD:='ID'
else if ComboBox1.Text='菜类型' then
OD:='Type'
else if ComboBox1.Text='菜名' then
OD:='Name'
else OD:='Price';
Data.ADOQMenu.Close;
Data.ADOQMenu.SQL.Clear;
Data.ADOQMenu.SQL.Add('select * from Menu order by '+OD);
Data.ADOQMenu.Open;
Data.ADOQMenu.First;
PrintDialog1.Execute;
Printer.BeginDoc;
Printer.Canvas.Font.Size:=16;
Printer.Canvas.TextOut(950,200,'菜 单');
Printer.Canvas.Font.Size:=12;
Printer.Canvas.TextOut(200,500,'菜ID 菜名 菜类 菜规格 菜价 折扣 备注');
for i:=1 to Data.ADOQMenu.RecordCount do
begin
Printer.Canvas.TextOut(200,500+i*240,
Data.ADOQMenu.FieldByName('ID').AsString+' '
+Data.ADOQMenu.FieldByName('Name').AsString+' '
+Data.ADOQMenu.FieldByName('Type').AsString+' '
+Data.ADOQMenu.FieldByName('Specs').AsString+' '
+Data.ADOQMenu.FieldByName('Price').AsString+' '
+Data.ADOQMenu.FieldByName('Discount').AsString+' '
+Data.ADOQMenu.FieldByName('Memo').AsString);
Data.ADOQMenu.Next;
end;
Printer.EndDoc;
end;
procedure TFrmMenuPrint.FormCreate(Sender: TObject);
begin
Data.DataSMenu.DataSet:=Data.ADOQMenu;
Data.ADOQMenu.Open;
end;
end.