⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printcard.pas

📁 很不错的软件请使用
💻 PAS
字号:
unit PrintCard;

interface

uses
  Windows, Messages, SysUtils,Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,printers,Grids, ComCtrls, Buttons, RXCtrls,
  DB, ADODB, XPMenu;

type
  TPrintC = class(Tform)
    Image2: TImage;
    Label1: TLabel;
    Label18: TLabel;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Label4: TLabel;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Edit1: TEdit;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    BitBtn3: TBitBtn;
    Bevel1: TBevel;
    BitBtn4: TBitBtn;
    Label5: TLabel;
    Label6: TLabel;
    GetTitle: TADOTable;
    XPMenu1: TXPMenu;
    ADOQuery1: TADOQuery;
    PreviewTable: TADOTable;
    GetFieldsNameTable: TADOTable;
    procedure onclose(Sender: TObject; var Action: TCloseAction);
    procedure onclick(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure onchange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  PrintC: TPrintC;

implementation

uses printView, MainFormUnit, MainDataModule;

{$R *.dfm}

procedure TPrintC.onclose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;

procedure TPrintC.onclick(Sender: TObject);
begin
groupbox1.Enabled:=radiobutton2.Checked;
label2.Enabled:=radiobutton2.Checked;
label3.Enabled:=radiobutton2.Checked;
label4.Enabled:=radiobutton2.Checked;
edit1.Enabled:=radiobutton2.Checked;
combobox1.Enabled:=radiobutton2.Checked;
combobox2.Enabled:=radiobutton2.Checked;
bitbtn1.Enabled:=radiobutton1.Checked;
bitbtn2.Enabled:=radiobutton1.Checked;
if radiobutton2.Checked then edit1.text:='';
end;

procedure TPrintC.BitBtn3Click(Sender: TObject);
begin
close;
end;

procedure TPrintC.BitBtn4Click(Sender: TObject);
begin
gethelp;
end;

procedure TPrintC.FormCreate(Sender: TObject);
var
ListFields:string;
TitleName:string;
TitleCount:integer;
begin
 try
  ComboBox1.Clear;
  ListFields:=ListFieldsSelect+',';  //不改变原初始值
  GetTitle.Active:=false;
  Gettitle.TableName:='FieldsNewName';
  GetTitle.Active:=true;
  while pos(',',ListFields)>0 do
   begin
    TitleCount:=pos(',',ListFields);
    TitleName:=copy(ListFields,1,titlecount-1);
    TitleName:=GetTitle.Fieldbyname(Titlename).asstring;
    combobox1.Items.Add(TitleName);
    ListFields:=copy(ListFields,titlecount+1,length(listfields));
    end;
  ComboBox1.ItemIndex:=0;
  ComboBox2.ItemIndex:=0;
  Edit1.Text:='';
 except
  MessageBox(Handle,'数据库占用或非法操作!','系统信息',MB_OK+MB_ICONWARNING);
  exit;
 end;
 GetTitle.Active:=false;
 //初始化查询及报表
 with Printv do
  begin
  try
  previewtable.Active:=false;
  previewtable.TableName:='FieldsNewName';
  previewtable.Active:=true;
  with PreviewTable do
   begin
   previewBh.Caption:=fields[0].asstring;
   PreviewName.Caption:=fields[2].asstring;
   previewId.Caption:=fields[1].asstring;
   previewSex.Caption:=fields[3].asstring;
   previewHome.Caption:=fields[5].asstring;
   previewCompany.Caption:=fields[6].asstring;
   previewAddress.Caption:=fields[8].asstring;
   previewTime.Caption:=fields[9].asstring;
   PrintBh.DataField:='编号';
   PrintName.DataField:='姓名';
   PrintId.DataField:='身份证号';
   printHome.DataField:='户籍地址';
   PrintAddress.DataField:='暂住地址';
   PrintCompany.DataField:='工作单位';
   PrintSex.DataField:='性别';
   PrintTime.DataField:='暂住时间';
   PrintBh.DataSet:=ADOquery1;
   PrintName.DataSet:=ADOquery1;
   PrintId.DataSet:=ADOquery1;
   printHome.DataSet:=ADOquery1;
   PrintAddress.DataSet:=ADOquery1;
   PrintCompany.DataSet:=ADOquery1;
   PrintSex.DataSet:=ADOquery1;
   PrintTime.DataSet:=ADOquery1;
   end;
  except;
  end;
  TitleName.Caption:=MainAppPrintTitle;
  Quickrep1.ReportTitle:=MainAppPrintTitle;
  MemoString.Caption:=MainAppPrintMemo;
  QuickRep1.DataSet:=ADOquery1;
 end;
end;

procedure TPrintC.BitBtn2Click(Sender: TObject);
var
fstr,OldFieldsTitle:string;
i:integer;
begin
if radiobutton1.Checked then
 begin
 try
  with ADOQuery1 do
  begin
   close;
   sql.clear;
   sql.Add('select');
   sql.Add(ListFieldsSelect);
   sql.Add('from MainDataTable order by 编号');
   open;
  end;
  except
   messageBox(Handle,'打开数据库失败!','系统提示',MB_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_SYSTEMmodal);
   exit;
 end;
end else
 begin
try
  //回朔标题
  GetFieldsNameTable.Active:=false;
  GetFieldsNameTable.TableName:='FieldsNewName';
  GetFieldsNameTable.Active:=true;
  for i:=0 to GetFieldsNameTable.FieldCount-1 do
  begin
   if GetFieldsNameTable.Fields[i].asstring=combobox1.Text then
    begin
     OldFieldsTitle:=GetFieldsNameTable.Fields[i].FieldName;
    end;
   end; 
  if combobox1.ItemIndex<>0 then
   begin
    case ComboBox2.ItemIndex of
    0: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'='''+edit1.text+''' order by '+OldFieldsTitle;
    1: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+' like ''%'+edit1.text+'%'' order by '+OldFieldsTitle;
    2: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'>'''+edit1.text+''' order by '+OldFieldsTitle;
    3: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'<'''+edit1.text+''' order by '+OldFieldsTitle;
    4: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'<>'''+edit1.text+''' order by '+OldFieldsTitle;
    end;
   end else
   begin
    case ComboBox2.ItemIndex of
    0: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'='+edit1.text+' order by '+OldFieldsTitle;
    1: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+' like ''%'+edit1.text+'%'' order by '+OldFieldsTitle;
    2: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'>'+edit1.text+' order by '+OldFieldsTitle;
    3: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'<'+edit1.text+' order by '+OldFieldsTitle;
    4: fstr:='select '+ListFieldsSelect+' from MainDataTable where '+OldFieldsTitle+'<>'+edit1.text+' order by '+OldFieldsTitle;
    end;
   end;
  with ADOQuery1 do
   begin
    close;
    SQL.Clear;
    SQL.Add(fstr);
    Prepared;
    Open;
    mainform.StatusBar1.Panels[3].Text:='查询记录数:'+inttostr(RecordCount);
   end;
  except
   messageBox(Handle,'打开数据库失败!','系统提示',MB_ok+MB_ICONWARNING+MB_DEFBUTTON1+MB_SYSTEMmodal);
   exit;
  end;
 end;
 if sender = bitbtn2 then
  printv.QuickRep1.preview
 else
  printv.QuickRep1.Print;
end;

procedure TPrintC.onchange(Sender: TObject);
begin
if (edit1.Text='') and (combobox1.ItemIndex=0) then
 begin
  bitbtn1.Enabled:=false;
  bitbtn2.Enabled:=false;
 end else
 begin
  bitbtn1.Enabled:=true;
  bitbtn2.Enabled:=true;
 end;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -