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

📄 unit1.pas

📁 新型农村合作医疗慢性病医疗证管理Delphi7 ReportBuilder
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit1;
//----------------------------------------------------------//
//   新型农村合作医疗慢性病医疗证管理

//   程序简单实用
//   方便的报表模板设计
//   打印机套打

//   数据库采用 Access,文件名称 : YLZ.mdb
//   使用控件 ReportBuilder 7.03 for Delphi 7.0

//   第一次往 盒子 2ccc.com 上传自己做的小东东,感谢大家支持.
//   以后多多交流!

//   Author : thplus
//   Email  : thplus@sina.com
//   QQ     : 419157190
//   2008.06.15

//   如有转载,请保留以上信息!谢谢!
//----------------------------------------------------------//

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB, ppPrnabl, ppClass, ppCtrls, ppDB,
  ppBands, ppCache, ppEndUsr, ppProd, ppReport, ppComm, ppRelatv, ppDBPipe,
  ExtCtrls, ppViewr, ComCtrls, Grids, DBGrids, ppParameter{, ppParameter};

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    ppDBPipeline1: TppDBPipeline;
    ppReport1: TppReport;
    ppDesigner1: TppDesigner;
    ADOQSelect: TADOQuery;
    dsSelect: TDataSource;
    ADOQPrint2: TADOQuery;
    ADOQPrint: TADOQuery;
    Panel1: TPanel;
    bbtnSelect: TBitBtn;
    Edit1: TEdit;
    RB01: TRadioButton;
    RB02: TRadioButton;
    Edit2: TEdit;
    RB03: TRadioButton;
    ComboBox1: TComboBox;
    Panel2: TPanel;
    bbtnPrint: TBitBtn;
    CheckBox1: TCheckBox;
    bbtnSave: TBitBtn;
    bbtnExit: TBitBtn;
    Panel3: TPanel;
    Panel4: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    StatusBar1: TStatusBar;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    Label7: TLabel;
    Edit6: TEdit;
    Label8: TLabel;
    Edit7: TEdit;
    Label9: TLabel;
    Edit8: TEdit;
    Label10: TLabel;
    Edit9: TEdit;
    Edit10: TEdit;
    Label11: TLabel;
    ADOQSave: TADOQuery;
    Label12: TLabel;
    Edit11: TEdit;
    bbtnClear: TBitBtn;
    Label13: TLabel;
    Edit12: TEdit;
    BitBtn2: TBitBtn;
    RB04: TRadioButton;
    Edit13: TEdit;
    ppParameterList1: TppParameterList;
    ppHeaderBand1: TppHeaderBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppDBText6: TppDBText;
    ppDBText7: TppDBText;
    ppDBText8: TppDBText;
    ppDBText9: TppDBText;
    ppDBText10: TppDBText;
    ppDBText11: TppDBText;
    ppDBText12: TppDBText;
    ppDBText13: TppDBText;
    ppDBText14: TppDBText;
    ppDBText15: TppDBText;
    ppDBText16: TppDBText;
    ppDBText17: TppDBText;
    ppDBText18: TppDBText;
    ppDBText19: TppDBText;
    ppLabel1: TppLabel;
    ppLabel2: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppLabel9: TppLabel;
    ppLabel10: TppLabel;
    ppLabel11: TppLabel;
    ppLabel12: TppLabel;
    ppLabel13: TppLabel;
    ppLabel14: TppLabel;
    ppLabel15: TppLabel;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    procedure bbtnSelectClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure bbtnPrintClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit2Enter(Sender: TObject);
    procedure ComboBox1Enter(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
    procedure ModifyDBGrid1Title;
    procedure ADOQSelectAfterScroll(DataSet: TDataSet);
    procedure bbtnSaveClick(Sender: TObject);
    procedure bbtnClearClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure WriteLog(ErrStr:String);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit13Enter(Sender: TObject);
    //function InttoFixedStr(i : integer):String;
  private
    { Private declarations }
  public
    { Public declarations }
  yyyymm : String;
  mxb1     : String;
  mxb2     : String;
  mxb3     : String;
  mxb4     : String;
  mxb      : String;

  yx_yy : String;
  yx_mm : String;
  yx_dd : String;

  fz_yyyy : String;
  fz_mm   : String;
  fz_dd   : String;

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function InttoFixedStr(i : integer):String;
var
  i_len : integer;
begin
  Result := '0000';
  i_len := Length(inttostr(i));
  if i_len = 1 then
    Result := '000' + inttostr(i);
  if i_len = 2 then
    Result := '00' + inttostr(i);
  if i_len = 3 then
    Result := '0' + inttostr(i);
  if i_len = 4 then
    Result :=  inttostr(i);

end;

procedure TForm1.WriteLog(ErrStr:String);
var
  LogFilename: String;
  LogFile: TextFile;
begin
  LogFilename:=ExtractFilePath(ParamStr(0)) + 'YLZP_' + FormatDateTime('yyyymmdd',Now)+ '.LOG';
  AssignFile(LogFile, LogFilename);
  if FileExists(LogFilename) then Append(LogFile)
  else Rewrite(LogFile);
  Writeln(Logfile,DateTimeToStr(now)+': '+ErrStr);
  CloseFile(LogFile);
end;

procedure TForm1.ModifyDBGrid1Title;
begin
  DBGrid1.Repaint;
  DBGrid1.Columns[0].Visible  := False;
  DBGrid1.Columns[1].Title.Caption := '编号';
  DBGrid1.Columns[1].Width := 40;
  DBGrid1.Columns[2].Title.Caption := '姓名';
  DBGrid1.Columns[2].Width := 50;
  DBGrid1.Columns[3].Title.Caption := '性别';
  DBGrid1.Columns[3].Width := 30;
  DBGrid1.Columns[4].Title.Caption := '年龄';
  DBGrid1.Columns[4].Width := 30;
  DBGrid1.Columns[5].Title.Caption := '乡镇';
  DBGrid1.Columns[5].Width := 50;
  DBGrid1.Columns[6].Title.Caption := '住址';
  DBGrid1.Columns[6].Width := 70;
  DBGrid1.Columns[7].Title.Caption := '医疗证号';
  DBGrid1.Columns[7].Width := 140;
  DBGrid1.Columns[8].Title.Caption := '身份证号';
  DBGrid1.Columns[8].Width := 160;
  DBGrid1.Columns[9].Title.Caption := '病种';
  DBGrid1.Columns[9].Width := 140;
  DBGrid1.Columns[10].Title.Caption := '电话';
  DBGrid1.Columns[10].Width := 100;
  DBGrid1.Columns[11].Title.Caption := '门诊编号';
  DBGrid1.Columns[11].Width := 140;

end;

procedure TForm1.bbtnSelectClick(Sender: TObject);
begin
  if RB01.Checked then
  begin
    with ADOQSelect do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'select * from YiLiaoZheng where YiLiaoZhengHao = :YiLiaoZhengHao';
        Parameters.ParamByName('YiLiaoZhengHao').Value := Trim(Edit1.Text);
        Open;
      end;
  end;
  if RB02.Checked then
  begin
    with ADOQSelect do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'select * from YiLiaoZheng where XingMing = :XingMing';
        Parameters.ParamByName('XingMing').Value := Trim(Edit2.Text);
        Open;
      end;
  end;
  if RB03.Checked then
  begin
    if Trim(ComboBox1.Text) = '--全部--' then
    begin
    with ADOQSelect do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'select * from YiLiaoZheng';
        Open;
      end  
    end
    else
    begin
    with ADOQSelect do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'select * from YiLiaoZheng where XiangZhen = :XiangZhen';
        Parameters.ParamByName('XiangZhen').Value := Trim(ComboBox1.Text);
        Open;
      end;
    end
  end;
  if RB04.Checked then
    begin
    with ADOQSelect do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'select * from YiLiaoZheng where ShenFenZheng = :ShenFenZheng';
        Parameters.ParamByName('ShenFenZheng').Value := Trim(Edit13.Text);
        Open;
      end  
    end;

  ModifyDBGrid1Title;

end;

procedure TForm1.bbtnExitClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.bbtnPrintClick(Sender: TObject);
var
  yy,mm : String;
  ShenFenZheng : String;
  sTemplateName : String;
begin
  if (not ADOQSelect.Active) or (ADOQSelect.RecordCount <= 0 ) then Exit;

      sTemplateName :=  ExtractFilePath(Paramstr (0)) + 'YLZP.rtm';
      ShenFenZheng := Trim(ADOQSelect.FieldByName('ShenFenZheng').AsString);

      if Length(ShenFenZheng) = 15 then
        begin
          yy := '19' + copy(ShenFenZheng,7,2);
          mm := copy(ShenFenZheng,10,2);
        end;
      if Length(ShenFenZheng) = 18 then
        begin
          yy := copy(ShenFenZheng,7,4);
          mm := copy(ShenFenZheng,11,2);
        end;
      yyyymm := yy + '年' + mm + '月';

      mxb := Trim(ADOQSelect.FieldByName('BingZhong').AsString);
      mxb1 := copy(mxb,1,pos(';',mxb) - 1);
      mxb  := copy(mxb,pos(';',mxb) + 1,length(mxb));
      mxb2 := copy(mxb,1,pos(';',mxb) - 1);
      mxb  := copy(mxb,pos(';',mxb) + 1,length(mxb));
      mxb3 := copy(mxb,1,pos(';',mxb) - 1);
      mxb  := copy(mxb,pos(';',mxb) + 1,length(mxb));
      mxb4 := copy(mxb,1,pos(';',mxb) - 1);
      //showmessage(mxb1 + #13#10 + mxb2 + #13#10 + mxb3 + #13#10 + mxb4);

      yx_yy := FormatDatetime('yy',DateTimePicker1.DateTime);
      yx_mm := FormatDatetime('mm',DateTimePicker1.DateTime);
      yx_dd := FormatDatetime('dd',DateTimePicker1.DateTime);

      fz_yyyy := FormatDatetime('yyyy',DateTimePicker2.DateTime);
      fz_mm   := FormatDatetime('mm',DateTimePicker2.DateTime);
      fz_dd   := FormatDatetime('dd',DateTimePicker2.DateTime);

      //showmessage(yx_yy + #13#10 + yx_mm + #13#10 + yx_dd + #13#10 + fz_yyyy + #13#10 + fz_mm + #13#10 + fz_dd);
      with ADOQPrint do
        begin
          Close;
          SQL.Clear;
          SQL.Text := 'delete from Print';
          ExecSQL;
        end;
      with ADOQPrint do
        begin
          Close;

⌨️ 快捷键说明

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