📄 addac.~pas
字号:
unit ADDAC;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, DB, ADODB, Grids, DBGrids, DBCtrls, Mask;
type
TfrmADDAC = class(TForm)
grp1: TGroupBox;
lbl2: TLabel;
cbbID: TComboBox;
lbl3: TLabel;
cbbADd: TComboBox;
btnADD: TButton;
dbgrd1: TDBGrid;
qryac: TADOQuery;
dsac: TDataSource;
lbl1: TLabel;
grp2: TGroupBox;
lbl5: TLabel;
edttimer: TEdit;
lbl6: TLabel;
btntimer: TButton;
lbl4: TLabel;
Label1: TLabel;
edttimer2: TEdit;
btnGetTimer: TButton;
btnStart: TButton;
btnStop: TButton;
qryac1: TADOQuery;
lbl7: TLabel;
edtACName: TEdit;
dbcbbid: TDBComboBox;
dbcbbadd: TDBComboBox;
dbedtname: TDBEdit;
btndel: TButton;
procedure FormCreate(Sender: TObject);
procedure btntimerClick(Sender: TObject);
procedure btnGetTimerClick(Sender: TObject);
procedure btnStartClick(Sender: TObject);
procedure btnStopClick(Sender: TObject);
procedure btnADDClick(Sender: TObject);
procedure btndelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmADDAC: TfrmADDAC;
implementation
{$R *.dfm}
uses
Main;
procedure TfrmADDAC.FormCreate(Sender: TObject);
begin
if qryac.Active = False then
qryac.Active := True;
if Main.frmain.tmrTC.Enabled = True then
begin
btnStop.Enabled := False;
btnStart.Enabled := True ;
end
else
begin
btnStop.Enabled := True;
btnStart.Enabled := False;
end;
end;
procedure TfrmADDAC.btntimerClick(Sender: TObject);
begin
Main.frmain.tmrTC.Interval := StrToInt(edttimer.Text) * 1000;
Main.frmain.tmrTC.Enabled := True;
end;
procedure TfrmADDAC.btnGetTimerClick(Sender: TObject);
var
i,j:Integer;
begin
j := Main.frmain.tmrTC.Interval;
i := j div 1000 ;
edttimer2.Text := IntToStr(i);
end;
procedure TfrmADDAC.btnStartClick(Sender: TObject);
begin
if Main.frmain.tmrTC.Enabled = False then
Main.frmain.tmrTC.Enabled := True ;
btnStart.Enabled := False;
btnStop.Enabled := True;
end;
procedure TfrmADDAC.btnStopClick(Sender: TObject);
begin
if Main.frmain.tmrTC.Enabled = True then
Main.frmain.tmrTC.Enabled := False ;
btnStart.Enabled := True;
btnStop.Enabled := False;
end;
procedure TfrmADDAC.btnADDClick(Sender: TObject);
var
stradd,strid:string;
iID:Integer;
begin
stradd := trim(dbcbbadd.Text);
strid := Trim(dbcbbid.Text );
if (strid[1] >'F') or (strid[2] > 'F') then
begin
ShowMessage('接口板地址有误,请重新输入;');
end;
iID := StrToInt(strid[1])*16 + StrToInt(strid[2]);
if iID > 31 then
ShowMessage('接口板地址有误,请重新输入;输入的地址范围必须在0——31内!');
if (stradd[1] >'F') or (stradd[2] > 'F') then
begin
ShowMessage('空调地址有误,请重新输入;');
end;
try
with qryac1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from AC where ACAddress =:ACAddress_Val and id =:id_Val');
Parameters.ParamByName('ACAddress_Val').Value := stradd ;
Parameters.ParamByName('id_Val').Value := strid;
Open;
if (RecordCount <> 1 ) then
begin
Close;
SQL.Clear;
SQL.Add('insert into AC (ACAddress,id,name)');
SQL.Add('values (:ACAddress_Val,:id_Val,:name_val)') ;
Parameters.ParamByName('ACAddress_Val').Value := dbcbbadd.Text ;
Parameters.ParamByName('id_Val').Value := dbcbbid.Text ;
Parameters.ParamByName('name_val').Value := dbedtname.Text ;
ExecSQL;
ShowMessage('恭喜,恭喜,添加空调成功!');
qryac.Active := False;
qryac.Active := True;
end
else
begin
//ShowMessage('Sorry!该空调地址已经存在!');
Edit;
FieldByName('name').Value := dbedtname.Text;
Post;
ShowMessage('恭喜,恭喜,修改成功!');
qryac.Active := False;
qryac.Active := True;
//cbbID.SetFocus;
end;
end;
except
ShowMessage('Sorry!添加空调失败!');
end;
end;
procedure TfrmADDAC.btndelClick(Sender: TObject);
begin
with qryac1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from AC where ACAddress =:ACAddress_Val and id =:id_Val');
Parameters.ParamByName('ACAddress_Val').Value := dbcbbadd.Text ;
Parameters.ParamByName('id_Val').Value := dbcbbid.Text;
Open;
if (RecordCount <> 1 ) then
begin
end
else
begin
if Application.MessageBox('您确实要删除该空调地址吗?', '提示', MB_OKCANCEL
+ MB_ICONQUESTION + MB_DEFBUTTON2) = IDOK then
begin
Delete;
ExecSQL;
ShowMessage('删除成功');
qryac.Active := False;
qryac.Active := True;
end
else
begin
//Abort;
end;
end;
end;
end;
procedure TfrmADDAC.FormClose(Sender: TObject; var Action: TCloseAction);
var
str:string;
i:Integer;
begin
with frmain.qryNum do
begin
Close;
SQL.Clear;
SQL.Add('select * from AC');
Open;
if not IsEmpty then
begin
First;
frmain.iNum := 1;
while not Eof do
begin
Next ;
frmain.iNum := frmain.iNum + 1;
end;
end;
end;
if frmain.iNum >= 1 then
begin
for i:= 1 to frmain.iNum -1 do
begin
with frmain.qryNum do
begin
Close;
SQL.Clear;
SQL.Add('select name from AC where ACAddress =:name_val');
Parameters.ParamByName('name_val').Value := '0'+ IntToStr(i);
Open;
if not IsEmpty then
begin
First;
str := FieldByName('name').AsString ;
case i of
1:
begin
frmain.grp1.Enabled := True;
frmain.grp1.Caption := IntToStr(i)+'号'+ str+'空调';
end;
2:
begin
frmain.GroupBox1.Enabled := True;
frmain.GroupBox1.Caption := IntToStr(i)+'号'+ str+'空调';
end;
3:
begin
frmain.GroupBox2.Enabled := True;
frmain.GroupBox2.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
4:
begin
frmain.GroupBox3.Enabled := True;
frmain.GroupBox3.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
5:
begin
frmain.GroupBox4.Enabled := True;
frmain.GroupBox4.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
6:
begin
frmain.GroupBox5.Enabled := True;
frmain.GroupBox5.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
7:
begin
frmain.GroupBox6.Enabled := True;
frmain.GroupBox6.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
8:
begin
frmain.GroupBox7.Enabled := True;
frmain.GroupBox7.Caption := IntToStr(i)+'号'+ str+'空调' ;
end;
end;
end;
end;
end;
end;
for i := frmain.iNum to 8 do
begin
case i of
1:
begin
frmain.grp1.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.grp1.Enabled := False;
end;
2:
begin
frmain.GroupBox1.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox1.Enabled := False;
end;
3:
begin
frmain.GroupBox2.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox2.Enabled := False;
end;
4:
begin
frmain.GroupBox3.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox3.Enabled := False;
end;
5:
begin
frmain.GroupBox4.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox4.Enabled := False;
end;
6:
begin
frmain.GroupBox5.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox5.Enabled := False;
end;
7:
begin
frmain.GroupBox6.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox6.Enabled := False;
end;
8:
begin
frmain.GroupBox7.Caption := IntToStr(i)+'号'+ '备用空调';
frmain.GroupBox7.Enabled := False;
end;
end;
end;
end;
procedure TfrmADDAC.FormPaint(Sender: TObject);
begin
if Main.frmain.tmrTC.Enabled = True then
begin
btnStop.Enabled := False;
btnStart.Enabled := True ;
end
else
begin
btnStop.Enabled := True;
btnStart.Enabled := False;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -