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

📄 dlg_print.pas

📁 用于家庭养殖的财务进出
💻 PAS
字号:
unit dlg_print;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls, Grids, ValEdit;

type
  TDlg_printf = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    RadioGroup1: TRadioGroup;
    Panel1: TPanel;
    ValueListEditor1: TValueListEditor;
    Label2: TLabel;
    Edit1: TEdit;
    procedure FindTablePrint;
    procedure ValueListEditor1Click(Sender: TObject);
    procedure ValueListEditor1SelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean);
    procedure RadioGroup1Click(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure FormActivate(Sender: TObject); //查询并显示table列表
  private
     temsql:string;//查询tabel列表
     keyid:string;
     temparameter:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Dlg_printf: TDlg_printf;

implementation

uses unit_global, data_module;

{$R *.dfm}

procedure TDlg_printf.FindTablePrint;
var
  i:integer;
  VlistRowcount:integer;
begin
///////////删除以前的信息//////////
  VlistRowcount:=ValueListEditor1.RowCount-1;
  if ValueListEditor1.RowCount>1 then
  begin
    for i:=1 to VlistRowcount do
    begin
      ValueListEditor1.DeleteRow(1);
      ValueListEditor1.Refresh;
      VlistRowcount:=ValueListEditor1.RowCount-1;
    end;
  end;
///////////添加新信息/////////////
  with dm.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add(temsql);
    try
      open;
      first;
      while not eof do
      begin
        ValueListEditor1.InsertRow(fieldbyname('group_num').AsString,fieldbyname('group_name').AsString,true);
        next;
      end;
    except
      close;
    end;
  end;
end;
procedure TDlg_printf.ValueListEditor1Click(Sender: TObject);
begin
 // ValueListEditor1.OnSelectCell(Sender);
end;

procedure TDlg_printf.ValueListEditor1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  keyid:='';
  edit1.Text:=ValueListEditor1.Cells[1,Arow];
  keyid:=ValueListEditor1.Cells[0,Arow];
end;

procedure TDlg_printf.RadioGroup1Click(Sender: TObject);
var
 i:integer;

begin
  temparameter:='print_pjt.exe ';
//根据选中的单位节点,来判断是否显示个人列表还是名册
  case radiogroup1.ItemIndex of
   0:
       begin
         temsql:='select * from workbook where single_pres=''0''';
         temparameter:=temparameter+'single '+Gencode;
       end;
   1:
       begin
         temsql:='select * from workbook where single_pres=''1''';
          if Selected_Node.HasChildren then
          begin
            temparameter:=temparameter+'multi_system '+Systemcode;
          end else
          begin
            temparameter:=temparameter+'multi_dept '+Company_code;
          end;
       end;
  end;
  FindTablePrint;
end;

procedure TDlg_printf.OKBtnClick(Sender: TObject);
var
  tem:string;
begin
  if RadioGroup1.Enabled=false then
  begin
    RadioGroup1.OnClick(Sender);
  end;
  if edit1.Text='' then
  begin
     application.MessageBox('请选择打印的表','信息提示',mb_ok);
     exit;
  end else
  begin
    tem:=temparameter+' '+keyid;
    setcurrentdir(ExtractFilePath(Application.ExeName));
    winexec(pchar(tem),SW_SHOWNORMAL); //调用打印模块
  end;
end;

procedure TDlg_printf.FormActivate(Sender: TObject);
begin
  edit1.Text:='';
  radiogroup1.Enabled:=true;
  if (gencode<>'') and (Selected_Node=nil) then
  begin
       radiogroup1.ItemIndex:=0;
       radiogroup1.Enabled:=false;
       temsql:='select * from workbook where single_pres=''0''';
  end else
  begin
    if (Selected_Node.HasChildren) or (gencode='') then
    begin
       radiogroup1.ItemIndex:=1;
       radiogroup1.Enabled:=false;
       temsql:='select * from workbook where single_pres=''1''';
    end else
    begin
       radiogroup1.ItemIndex:=0;
       temsql:='select * from workbook where single_pres=''0''';
    end;
  end;
  //FindTablePrint;
end;

end.

⌨️ 快捷键说明

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