📄 realtyc332.pas
字号:
unit RealtyC332;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math, ToolWin, ImgList, Menus;
type
Tf_RealtyC332 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit6: TEdit;
ComboBox1: TComboBox;
Label14: TLabel;
ComboBox3: TComboBox;
CheckBox1: TCheckBox;
Button5: TButton;
Button7: TButton;
Edit7: TEdit;
Button1: TButton;
Label3: TLabel;
Edit5: TEdit;
Button2: TButton;
Label7: TLabel;
Edit8: TEdit;
Button3: TButton;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
Label10: TLabel;
Edit1: TEdit;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure NN6Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox3Select(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bMod:bool;
sTable:string;
cols:integer;
bGetdata:bool;
end;
var
f_RealtyC332: Tf_RealtyC332;
implementation
uses data, main,RealtyC33,RealtyA12,Car4s931,realtyI11C,RealtyA11;
{$R *.dfm}
//Initial******************************
procedure Tf_RealtyC332.FormCreate(Sender: TObject);
Var
query,query1:TADOQuery;
stemp:string;
begin
query:=TADOQuery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
combobox3.Items.Add('新增总表');
DateTimePicker1.Date:=date;
query.sql.add('select * from 辅助资料 where 类别='''+'总表'+'''');
query.Open;
while not query.eof do
begin
combobox3.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
query.SQL.clear;
query.sql.add('select distinct 名称 from 仪表种类');
query.Open;
while not query.eof do
begin
combobox1.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
end;
//Tab****************************************
procedure Tf_RealtyC332.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);
end
else if key=VK_ESCAPE then close;
end;
//FreeForm**********************************
procedure Tf_RealtyC332.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
//Close*************************************
procedure Tf_RealtyC332.NN6Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyC332.ToolButton10Click(Sender: TObject);
begin
NN6Click(Sender);
end;
procedure Tf_RealtyC332.Button7Click(Sender: TObject);
Var
query,query1:TADOQuery;
s,s1,s2,s3,r1,r2,r3,r,ss:string;
i,j:integer;
begin
if combobox1.Text='' then
begin
showmessage('仪表种类不能为空!');
combobox1.SetFocus;
exit;
end;
if combobox3.Text='' then
begin
showmessage('总表不能为空!');
combobox3.SetFocus;
exit;
end;
if (edit5.Text='') and (edit8.text='') and (edit7.Text='') then
begin
showmessage('请选择要新增的单位');
exit;
end;
if edit3.Text='' then
begin
showmessage('倍率不能为空!');
edit3.SetFocus;
exit;
end;
if edit4.Text='' then
begin
showmessage('回程不能为空!');
edit4.SetFocus;
exit;
end;
edit2.Text:=mainform.StdDou2(edit2.Text);
edit3.Text:=mainform.StdDou2(edit3.Text);
edit4.Text:=mainform.StdDou2(edit4.Text);
if edit6.Text='' then Edit6.Text:='-';
if checkbox1.Checked then s1:='Y' else s1:='N';
query:=TADOQuery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
query1:=TADOQuery.Create(nil);
query1.Connection:=DataModuleADO.ADOConnection1;
if edit5.Text<>'' then
begin
r:=mainform.getNum(edit5.Text);
query.SQL.clear;
query.SQL.Add('select * from 房间 where 管理区='''+r+'''');
query.Open;
while not query.Eof do
begin
ss:=query.fieldbyname('编号').Value;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 房间仪表 where 房间='''+ss+''' and 仪表种类='''+combobox1.text+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
end;
if edit7.Text<>'' then
begin
query.SQL.Clear;
query.SQL.Add('select * from 组织机构 where 名称='''+edit7.Text+'''');
query.Open;
if query.RecordCount>0 then r3:=query.fieldbyname('编号').value;
query.SQL.clear;
query.SQL.Add('select * from 房间 where 管理处='''+r3+'''');
query.Open;
while not query.Eof do
begin
ss:=query.fieldbyname('编号').Value;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 房间仪表 where 房间='''+ss+''' and 仪表种类='''+combobox1.text+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
end;
if edit8.Text<>'' then
begin
r:=mainform.getNum(edit8.Text);
query.SQL.clear;
query.SQL.Add('select * from 房间 where 楼宇='''+r+'''');
query.Open;
while not query.Eof do
begin
ss:=query.fieldbyname('编号').Value;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from 房间仪表 where 房间='''+ss+''' and 仪表种类='''+combobox1.text+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
end;
if edit5.Text<>'' then
begin
r:=mainform.getNum(edit5.Text);
query.SQL.clear;
query.SQL.Add('select * from 房间 where 管理区='''+r+'''');
query.Open;
while not query.Eof do
begin
s2:=query.fieldbyname('编号').Value;
{r1:='0';
r2:=datetostr(date);
query1.SQL.Clear;
query1.SQL.Add('select top 1 * from 房间抄表 order by 读数日期 DESC');
query1.Open;
if query1.RecordCount>0 then
begin
r1:=query1.fieldbyname('本次读数').Value;
r2:=query1.fieldbyname('读数日期').Value;
end; }
Edit1.Text:=mainform.StdDou2(Edit1.Text);
r1:= Edit1.Text;
r2:=datetostr(DateTimePicker1.Date);
s := 'select top 1 * from 房间仪表 ORDER BY 编号 DESC';
query1.SQL.Clear;
Query1.SQL.Add(s);
Query1.Open ;
if query1.recordcount > 0 then
begin
s:= Query1.Fieldbyname('编号').AsString;
s:= Copy(S, 1, 7);
i:= strtoint(s)+1;
if i<10 then s3 := '000000'+inttostr(i)
else if (i > 9) and (i<100) then s3 := '00000'+inttostr(i)
else if (i > 99) and (i<1000) then s3 := '0000'+inttostr(i)
else if (i > 999) and (i<10000) then s3 := '000'+inttostr(i)
else if (i > 9999) and (i<100000) then s3 := '00'+inttostr(i)
else if (i > 99999) and (i<1000000) then s3 := '0'+inttostr(i)
else if i>999999 then s3 := inttostr(i);
end
else s3 := '0000001';
s:='select * from 房间仪表 where 房间='''+s2;
s:=s+''' and 仪表种类='''+ combobox1.Text;
s:=s+'''';
query1.sql.clear;
query1.SQL.add(s);
query1.open;
if query1.RecordCount=0 then
begin
s:='insert into 房间仪表 (编号,仪表种类,房间,倍率,回程,';
s:=s+'损耗率,总表,是否主表,';
s:=s+'备注,上次读数日期,上次读数)';
s:=s+'values (:s1,:s2,:s3,:s4,:s5,';
s:=s+':s6,:s7,:s8,:s9,:s10,:s11)';
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Parameters.ParamByName('s1').Value:=s3;
query1.Parameters.ParamByName('s2').Value:=combobox1.Text;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -