📄 realtyf61a.pas
字号:
unit RealtyF61A;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math, Menus, ImgList, ToolWin;
type
Tf_RealtyF61A = class(TForm)
L1: TLabel;
Label1: TLabel;
Edit1: TEdit;
Label8: TLabel;
edit2: TEdit;
edit3: TEdit;
Label9: TLabel;
Label2: TLabel;
Edit4: TEdit;
Button1: TButton;
edit5: TDateTimePicker;
Label3: TLabel;
edit6: TDateTimePicker;
Label4: TLabel;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
edit7: TDateTimePicker;
Label5: TLabel;
Label6: TLabel;
edit8: TDateTimePicker;
Label7: TLabel;
Edit9: TEdit;
Button2: TButton;
Button3: TButton;
Button7: TButton;
Button5: TButton;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure getId;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
bOK:bool;
T:string;
end;
var
f_RealtyF61A: Tf_RealtyF61A;
sNum:string;
implementation
uses data, main,RealtyF61,RealtyF62,RealtyB22,RealtyA14;
{$R *.dfm}
procedure Tf_RealtyF61A.getId;
var
i:integer;
query:TADOQuery;
s:string;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
s := 'select top 1 * from 定期服务 ORDER BY 编号 DESC';
Query.SQL.Add(s);
Query.Open ;
if query.recordcount > 0 then
begin
s:= Query.Fieldbyname('编号').AsString;
s:= Copy(S, 1, 7);
i:= strtoint(s)+1;
if i<10 then edit1.text := '000000'+inttostr(i)
else if (i > 9) and (i<100) then edit1.text := '00000'+inttostr(i)
else if (i > 99) and (i<1000) then edit1.text := '0000'+inttostr(i)
else if (i > 999) and (i<10000) then edit1.text := '000'+inttostr(i)
else if (i > 9999) and (i<100000) then edit1.text := '00'+inttostr(i)
else if (i > 99999) and (i<1000000) then edit1.text := '0'+inttostr(i)
else if i>999999 then edit1.text := inttostr(i);
end
else edit1.text := '0000001';
query.Close;
query.free;
end;
procedure Tf_RealtyF61A.FormCreate(Sender: TObject);
var
i:integer;
query:TADOQuery;
s1:string;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
if f_RealtyF61.bNew=true then
begin
getId;
edit5.Date:=date;
edit6.Date:=date;
edit7.Time:=time;
edit8.Time:=time;
end
else
begin
query.SQL.Clear;
query.SQL.Add('select * from 定期服务 where 编号='''+f_RealtyF61.listview1.selected.Caption+'''');
query.Open;
if query.RecordCount>0 then
begin
s1:=mainform.getName('房间',query.fieldbyname('房间').Value);
edit1.Text:=query.fieldbyname('编号').Value;
edit2.text:=query.fieldbyname('客户').Value;
edit3.text:=query.fieldbyname('房间').Value+'--'+s1;
edit4.text:=query.fieldbyname('服务类别').Value;
edit5.date:=strtodate(query.fieldbyname('开始日期').Value);
edit6.date:=strtodate(query.fieldbyname('结束日期').Value);
edit7.time:=strtotime(query.fieldbyname('开始时间').Value);
edit8.time:=strtotime(query.fieldbyname('结束时间').Value);
edit9.text:=query.fieldbyname('备注').Value;
if query.FieldByName('星期一').Value='Y' then checkbox1.Checked:=true
else checkbox1.Checked:=false;
if query.FieldByName('星期二').Value='Y' then checkbox2.Checked:=true
else checkbox2.Checked:=false;
if query.FieldByName('星期三').Value='Y' then checkbox3.Checked:=true
else checkbox3.Checked:=false;
if query.FieldByName('星期四').Value='Y' then checkbox4.Checked:=true
else checkbox4.Checked:=false;
if query.FieldByName('星期五').Value='Y' then checkbox5.Checked:=true
else checkbox5.Checked:=false;
if query.FieldByName('星期六').Value='Y' then checkbox6.Checked:=true
else checkbox6.Checked:=false;
if query.FieldByName('星期日').Value='Y' then checkbox7.Checked:=true
else checkbox7.Checked:=false;
end;
query.close;
query.free;
end;
end;
//Tab
procedure Tf_RealtyF61A.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;
procedure Tf_RealtyF61A.Button2Click(Sender: TObject);
begin
f_RealtyB22:=Tf_RealtyB22.Create(self);
f_RealtyB22.ToolButton6.Visible:=true;
f_RealtyB22.ShowModal;
if f_RealtyB22.bOk=true then
begin
edit2.Text:=f_RealtyB22.sName;
end;
end;
procedure Tf_RealtyF61A.ToolButton10Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyF61A.Button1Click(Sender: TObject);
begin
f_RealtyF62:=Tf_RealtyF62.Create(self);
f_RealtyF62.Button7.Visible:=true;
f_RealtyF62.ShowModal;
if f_RealtyF62.bOk=true then
begin
edit4.Text:=f_RealtyF62.sName;
end;
end;
procedure Tf_RealtyF61A.Button3Click(Sender: TObject);
begin
f_RealtyA14:=Tf_RealtyA14.Create(self);
f_RealtyA14.ToolButton6.Visible:=true;
f_RealtyA14.ShowModal;
if f_RealtyA14.bOk=true then
begin
edit3.Text:=f_RealtyA14.sNum+'--'+f_RealtyA14.sName;
end;
end;
procedure Tf_RealtyF61A.Button7Click(Sender: TObject);
VAR
query:TADOQuery;
s,s1,s2,s3,s4,s5,s6,s7,s8:string;
begin
s8:=mainform.getNum(edit3.text);
s1:='N';
s2:='N';
s3:='N';
s4:='N';
s5:='N';
s6:='N';
s7:='N';
if checkbox1.Checked=true then s1:='Y';
if checkbox2.Checked=true then s2:='Y';
if checkbox3.Checked=true then s3:='Y';
if checkbox4.Checked=true then s4:='Y';
if checkbox5.Checked=true then s5:='Y';
if checkbox6.Checked=true then s6:='Y';
if checkbox7.Checked=true then s7:='Y';
if Edit2.Text='' then
begin
showmessage('客户不能为空。');
Edit2.SetFocus;
exit;
end;
if Edit3.Text='' then
begin
showmessage('房间不能为空。');
Edit3.SetFocus;
exit;
end;
if Edit4.Text='' then
begin
showmessage('服务类别不能为空。');
Edit4.SetFocus;
exit;
end;
if edit9.text='' then edit9.Text:='-';
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
if f_RealtyF61.bNew=true then
begin
query.SQL.Clear;
Query.SQL.Add('select * from 定期服务 where 编号='''+Edit1.text+'''');
Query.Open ;
if query.RecordCount>0 then
begin
showmessage('编号重复,请重新输入');
Edit1.SetFocus;
query.Close ;
query.Free ;
exit;
end;
s := 'insert into 定期服务(编号,客户,房间,服务类别,开始日期,结束日期,开始时间,结束时间,备注,';
s:=s+'星期一,星期二,星期三,星期四,星期五,星期六,星期日) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13,:s14,:s15,:s16)';
query.sql.Clear ;
query.sql.add(s);
query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
query.Parameters.ParamByName('s2').Value:=trim(Edit2.text);
query.Parameters.ParamByName('s3').Value:=trim(s8);
query.Parameters.ParamByName('s4').Value:=trim(Edit4.text);
query.Parameters.ParamByName('s5').Value:=datetostr(Edit5.date);
query.Parameters.ParamByName('s6').Value:=datetostr(Edit6.date);
query.Parameters.ParamByName('s7').Value:=timetostr(Edit7.time);
query.Parameters.ParamByName('s8').Value:=timetostr(Edit8.time);
query.Parameters.ParamByName('s9').Value:=trim(Edit9.text);
query.Parameters.ParamByName('s10').Value:=s1;
query.Parameters.ParamByName('s11').Value:=s2;
query.Parameters.ParamByName('s12').Value:=s3;
query.Parameters.ParamByName('s13').Value:=s4;
query.Parameters.ParamByName('s14').Value:=s5;
query.Parameters.ParamByName('s15').Value:=s6;
query.Parameters.ParamByName('s16').Value:=s7;
DataModuleADO.ADOConnection1.BeginTrans;
query.execsql;
DataModuleADO.ADOConnection1.CommitTrans;
showmessage('保存成功。');
query.SQL.Clear;
query.SQL.Add('select * from 定期服务 where 编号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyF61.listview1.Items.Add do
begin
caption:=query.fieldbyname('编号').Value;
subitems.Add(query.fieldbyname('客户').Value);
subitems.Add(query.fieldbyname('房间').Value);
subitems.Add(query.fieldbyname('服务类别').Value);
subitems.Add(query.fieldbyname('开始日期').Value);
subitems.Add(query.fieldbyname('结束日期').Value);
subitems.Add(query.fieldbyname('开始时间').Value);
subitems.Add(query.fieldbyname('结束时间').Value);
subitems.Add(query.fieldbyname('备注').Value);
end;
end;
query.Close ;
query.Free ;
if f_RealtyF61.listview1.Items.Count>0 then f_RealtyF61.listview1.Items.Item[0].Selected:=true;
getId;
edit1.text:='';
edit2.text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Date:=date;
edit6.date:=date;
edit7.Time:=time;
edit8.Time:=time;
edit9.Text:='';
end;
if f_RealtyF61.bNew=false then
begin
s:='update 定期服务 set 编号='''+edit1.text;
s:=s+''',客户='''+edit2.text;
s:=s+''',房间='''+s8;
s:=s+''',服务类别='''+edit4.text;
s:=s+''',开始日期='''+datetostr(edit5.date);
s:=s+''',结束日期='''+datetostr(edit6.date);
s:=s+''',开始时间='''+timetostr(edit7.time);
s:=s+''',结束时间='''+timetostr(edit8.time);
s:=s+''',备注='''+edit9.text;
s:=s+''',星期一='''+s1;
s:=s+''',星期二='''+s2;
s:=s+''',星期三='''+s3;
s:=s+''',星期四='''+s4;
s:=s+''',星期五='''+s5;
s:=s+''',星期六='''+s6;
s:=s+''',星期日='''+s7;
s:=s+''' where 编号='''+f_RealtyF61.ListView1.Selected.Caption+'''';
query.SQL.Clear;
query.SQL.Add(s);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.sql.clear;
query.SQL.Add('select * from 定期服务 where 编号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyF61.listview1.Selected do
begin
caption:=query.fieldbyname('编号').Value;
subitems[0]:=query.fieldbyname('客户').Value;
subitems[1]:=query.fieldbyname('房间').Value;
subitems[2]:=query.fieldbyname('服务类别').Value;
subitems[3]:=query.fieldbyname('开始日期').Value;
subitems[4]:=query.fieldbyname('结束日期').Value;
subitems[5]:=query.fieldbyname('开始时间').Value;
subitems[6]:=query.fieldbyname('结束时间').Value;
subitems[7]:=query.fieldbyname('备注').Value;
end;
end;
query.Close;
query.Free;
close;
end;
end;
procedure Tf_RealtyF61A.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyF61A.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -