?? unit1.pas
字號:
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 + -