sfsj.pas
来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 352 行
PAS
352 行
unit SFSJ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, RpCon, RpConDS, RVClass,RVProj,RVCsStd,StdCtrls, RpBase, RpSystem, RpDefine,
RpRave, ExtCtrls, DBCtrls, ComCtrls, Mask, Grids, DBGrids;
type
TSFSJFrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Button1: TButton;
Button2: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Button3: TButton;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBComboBox1: TDBComboBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
DBEdit5: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
ADOQuery2: TADOQuery;
Button4: TButton;
DBEdit6: TDBEdit;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Button5: TButton;
Button6: TButton;
Button7: TButton;
DBNavigator1: TDBNavigator;
ADOQuery3: TADOQuery;
DataSource2: TDataSource;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure DBEdit5Change(Sender: TObject);
procedure DBEdit6Change(Sender: TObject);
procedure DBEdit7Change(Sender: TObject);
procedure DBEdit8Change(Sender: TObject);
procedure DBEdit9Change(Sender: TObject);
procedure DBEdit10Change(Sender: TObject);
procedure DBEdit11Change(Sender: TObject);
procedure DBEdit12Change(Sender: TObject);
procedure DBEdit13Change(Sender: TObject);
procedure DBEdit14Change(Sender: TObject);
procedure DBEdit15Change(Sender: TObject);
procedure DBEdit16Change(Sender: TObject);
procedure DBEdit17Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SFSJFrm: TSFSJFrm;
implementation
uses Login, Main;
{$R *.dfm}
procedure TSFSJFrm.FormCreate(Sender: TObject);
begin
ADOtable1.first;
while not ADOtable1.eof do
begin
dbcombobox1.items.insert(-1,ADOtable1.fieldbyname('BMMC').asstring);
ADOtable1.Next;
end;
pagecontrol1.activepage:=tabsheet1;
dbedit2.text:=datetostr(Date);
dbedit3.text:=LoginFrm.edit1.Text;
end;
procedure TSFSJFrm.Button1Click(Sender: TObject);
var SJDH:string;
begin
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select top 1 * from SFSJ order by SJDH desc');
open;
first;
if fieldbyname('Date').asstring=datetostr(Date) then
dbedit1.text:=floattostr(fieldbyname('SJDH').asfloat+1)
else
dbedit1.text:=floattostr(strtofloat(formatdatetime('yyyy""mm""dd',Date))*10000+1);
SJDH:=dbedit1.text;
dbedit2.text:=datetostr(Date);
dbedit3.text:=LoginFrm.edit1.Text;
dbcombobox1.text:='';
dbedit4.text:='';
sql.add('insert into SFSJ (SJDH,Date,JSR,BMMC,BRXM,XY,ZCN,ZCY,CGJC,CT,MRI,XRAY,SY,SX,SH,ZL,HY,QT,Total)values (' );
sql.add(''''+dbedit1.text+''''+','+''''+dbedit2.text+''''+',');
sql.add(''''+dbedit3.text+''''+','+''''+dbcombobox1.text+''''+',');
sql.add(''''+dbedit4.text+''''+',0,0,0,0,0,0,0,0,0,0,0,0,0,0)');
execsql;
end;
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('select * from SFSJ where SJDH='+''''+SJDH+'''');
open;
first;
end;
end;
procedure TSFSJFrm.Button3Click(Sender: TObject);
var SJDH:string;
begin
SJDH:=dbedit1.text;
dbedit18.text:=floattostr(strtofloat(dbedit5.text)+strtofloat(dbedit6.text)+strtofloat(dbedit7.text)+strtofloat(dbedit8.text)+strtofloat(dbedit9.text)+strtofloat(dbedit10.text)+strtofloat(dbedit11.text)+strtofloat(dbedit12.text)+strtofloat(dbedit13.text)+strtofloat(dbedit14.text)+strtofloat(dbedit15.text)+strtofloat(dbedit16.text)+strtofloat(dbedit17.text));
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('update SFSJ set BMMC='+''''+dbcombobox1.text+''''+',');
sql.add('BRXM='+''''+dbedit4.text+''''+',XY='+''''+dbedit5.text+''''+',');
sql.add('ZCN='+''''+dbedit6.text+''''+',ZCY='+''''+dbedit7.text+''''+',');
sql.add('CGJC='+''''+dbedit8.text+''''+',CT='+''''+dbedit9.text+''''+',');
sql.add('MRI='+''''+dbedit10.text+''''+',XRAY='+''''+dbedit11.text+''''+',');
sql.add('SY='+''''+dbedit12.text+''''+',SX='+''''+dbedit13.text+''''+',');
sql.add('SH='+''''+dbedit14.text+''''+',ZL='+''''+dbedit15.text+''''+',');
sql.add('HY='+''''+dbedit16.text+''''+',QT='+''''+dbedit17.text+''''+',');
sql.add('Total='+''''+dbedit18.text+''''+'where SJDH='+''''+dbedit1.text+'''');
execsql;
end;
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('select * from SFSJ where SJDH='+''''+SJDH+'''');
open;
first;
end;
end;
procedure TSFSJFrm.Button4Click(Sender: TObject);
begin
SFSJFrm.hide;
end;
procedure TSFSJFrm.DBEdit5Change(Sender: TObject);
begin
if dbedit5.text='' then
dbedit5.text:='0';
end;
procedure TSFSJFrm.DBEdit6Change(Sender: TObject);
begin
if dbedit6.text='' then
dbedit6.text:='0';
end;
procedure TSFSJFrm.DBEdit7Change(Sender: TObject);
begin
if dbedit7.text='' then
dbedit7.text:='0';
end;
procedure TSFSJFrm.DBEdit8Change(Sender: TObject);
begin
if dbedit8.text='' then
dbedit8.text:='0';
end;
procedure TSFSJFrm.DBEdit9Change(Sender: TObject);
begin
if dbedit9.text='' then
dbedit9.text:='0';
end;
procedure TSFSJFrm.DBEdit10Change(Sender: TObject);
begin
if dbedit10.text='' then
dbedit10.text:='0';
end;
procedure TSFSJFrm.DBEdit11Change(Sender: TObject);
begin
if dbedit11.text='' then
dbedit11.text:='0';
end;
procedure TSFSJFrm.DBEdit12Change(Sender: TObject);
begin
if dbedit12.text='' then
dbedit12.text:='0';
end;
procedure TSFSJFrm.DBEdit13Change(Sender: TObject);
begin
if dbedit13.text='' then
dbedit13.text:='0';
end;
procedure TSFSJFrm.DBEdit14Change(Sender: TObject);
begin
if dbedit14.text='' then
dbedit14.text:='0';
end;
procedure TSFSJFrm.DBEdit15Change(Sender: TObject);
begin
if dbedit15.text='' then
dbedit15.text:='0';
end;
procedure TSFSJFrm.DBEdit16Change(Sender: TObject);
begin
if dbedit16.text='' then
dbedit16.text:='0';
end;
procedure TSFSJFrm.DBEdit17Change(Sender: TObject);
begin
if dbedit17.text='' then
dbedit17.text:='0';
end;
procedure TSFSJFrm.Button2Click(Sender: TObject);
begin
MainFrm.RvProject1.Open;
MainFrm.RvProject1.ExecuteReport('SFSJReport');
MainFrm.RvProject1.Close;
end;
procedure TSFSJFrm.TabSheet2Show(Sender: TObject);
begin
edit3.Text:=datetostr(date);
radiobutton1.checked:=true;
end;
procedure TSFSJFrm.Button6Click(Sender: TObject);
begin
SFSJFrm.Hide;
end;
procedure TSFSJFrm.Button5Click(Sender: TObject);
var query:string;
begin
query:='';
if Radiobutton1.checked=true then
if edit1.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from SFSJ where SJDH like'+''''+'%'+edit1.text+'%'+''''+'order by SJDH desc';
if Radiobutton2.checked=true then
if edit2.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from SFSJ where BRXM like'+''''+'%'+edit2.text+'%'+''''+'order by SJDH desc';
if Radiobutton3.checked=true then
if edit3.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from SFSJ where Date ='+''''+edit3.text+''''+'order by SJDH desc';
if Radiobutton4.checked=true then
if edit4.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from SFSJ where JSR like'+''''+'%'+edit4.text+'%'+''''+'order by SJDH desc';
if query<>'' then
begin
with ADOQuery3 do
begin
close;
sql.clear;
sql.add(query);
open;
first;
if recordcount=0 then
showmessage('对不起,没有符合条件的查询结果!请重新查询!')
else
Groupbox4.caption:='查询结果共'+floattostr(recordcount)+'条记录'
end;
end;
end;
procedure TSFSJFrm.Button7Click(Sender: TObject);
begin
MainFrm.RvProject1.Open;
MainFrm.RvProject1.ExecuteReport('SJCXReport');
MainFrm.RvProject1.Close;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?