📄 u_bcset.pas
字号:
procedure TF_bcset.RzMaskEdit14Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit14.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit14.Text)),4,sf);
end;
procedure TF_bcset.RzMaskEdit19Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit19.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit19.Text)),2,sf);
end;
procedure TF_bcset.RzMaskEdit30Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit30.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit30.Text)),3,sf);
end;
procedure TF_bcset.RzMaskEdit25Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit25.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit25.Text)),1,sf);
end;
procedure TF_bcset.RzMaskEdit27Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit27.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit27.Text)),2,sf);
end;
procedure TF_bcset.RzMaskEdit28Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit28.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit28.Text)),3,sf);
end;
procedure TF_bcset.RzMaskEdit29Exit(Sender: TObject);
var
sf:integer;
begin
IF trim(RzMaskEdit29.Text) <> '' then
datetime(strtoint(trim(RzMaskEdit29.Text)),4,sf);
end;
//保存参数设置
procedure TF_bcset.RzBmpButton6Click(Sender: TObject);
var
filename,ztz,str,zsw,xsw,zswb :string;
i,j:integer;
begin
{if (pos('.',rzmaskedit21.Text)=0) then
rzmaskedit21.Text:= copy('000000',1,6-length(rzmaskedit21.Text))+rzmaskedit21.Text+'00';
if (pos('.',rzmaskedit21.Text)<>1) then
zsw:=copy(rzmaskedit21.Text,1,pos('.',rzmaskedit21.Text)-1);
xsw:=copy(rzmaskedit21.Text,pos('.',rzmaskedit21.Text)+1,length(rzmaskedit21.Text)-pos('.',rzmaskedit21.Text));}
zsw:=inttostr(trunc(strtofloat(rzmaskedit21.Text)));
if length(zsw)>6 then
begin
showmessage('有功电能起始读数的整数位不能多于六位,请重新输入');
rzmaskedit21.SetFocus;
exit;
end;
zswb:=copy('000000',1,6-length(inttostr(trunc(strtofloat(rzmaskedit21.Text)))))+inttostr(trunc(strtofloat(rzmaskedit21.Text)));
xsw:=copy(rzmaskedit21.Text,length(zsw)+2,length(rzmaskedit21.Text)-length(zsw)-1);
if length(xsw)=0 then //本身就是整数
rzmaskedit21.Text:= copy('000000',1,6-length(rzmaskedit21.Text))+rzmaskedit21.Text+'00';
if length(xsw)=1 then //带一位小数的实数
rzmaskedit21.Text:=zswb+xsw+'0';
if length(xsw)=2 then
rzmaskedit21.Text:=zswb+xsw;
for i:=1 to 35 do
TRzmaskedit(FindComponent('Rzmaskedit'+inttostr(i))).Text := PadLStr(TRzmaskedit(FindComponent('Rzmaskedit'+inttostr(i))).Text,TRzmaskedit(FindComponent('Rzmaskedit'+inttostr(i))).MaxLength,'0');
filename:=extractfilepath(paramstr(0))+F_645.EDIT1.TEXT+'_programme.ini'; //////得到完整的INI文件路径名///
f_645.f_ini:=tinifile.Create(filename);
//时钟
f_645.f_ini.WriteString('设置参数', 'C010', Rzmaskedit1.Text + Rzmaskedit2.Text +Rzmaskedit3.Text +Rzmaskedit4.Text );
f_645.f_ini.WriteString('设置参数', 'C011', Rzmaskedit5.Text + Rzmaskedit6.Text +Rzmaskedit7.Text );
//状态字
for i :=1 to 3 do
begin
ztz :='';
for j := 0 to 7 do
begin
if TRzcheckgroup(FindComponent('Rzcheckgroup'+inttostr(i))).ItemChecked[j] then
ztz := ztz+'1'
else
ztz := ztz+'0' ;
end;
//str:=hextochar(copy(ReverseString(trim(ztz)),1,4))+hextochar(copy(ReverseString(trim(ztz)),5,8));
f_645.f_ini.WriteString('设置参数', 'C02'+inttostr(i-1), ReverseString(trim(ztz)));
end;
//常量参数
f_645.f_ini.WriteString('设置参数', 'C030', Rzmaskedit8.Text );
f_645.f_ini.WriteString('设置参数', 'C031', Rzmaskedit9.Text );
f_645.f_ini.WriteString('设置参数', 'C032', Rzmaskedit10.Text );
f_645.f_ini.WriteString('设置参数', 'C033', Rzmaskedit11.Text );
f_645.f_ini.WriteString('设置参数', 'C034', Rzmaskedit12.Text );
//变量参数
f_645.f_ini.WriteString('设置参数', 'C111', Rzmaskedit13.Text );
f_645.f_ini.WriteString('设置参数', 'C112', Rzmaskedit14.Text );
f_645.f_ini.WriteString('设置参数', 'C113', Rzmaskedit15.Text );
f_645.f_ini.WriteString('设置参数', 'C114', Rzmaskedit16.Text );
f_645.f_ini.WriteString('设置参数', 'C115', Rzmaskedit17.Text );
f_645.f_ini.WriteString('设置参数', 'C116', Rzmaskedit18.Text );
f_645.f_ini.WriteString('设置参数', 'C117', Rzmaskedit19.Text + Rzmaskedit30.Text);
f_645.f_ini.WriteString('设置参数', 'C118', Rzmaskedit20.Text );
f_645.f_ini.WriteString('设置参数', 'C119', Rzmaskedit21.Text );
f_645.f_ini.WriteString('设置参数', 'C12A', Rzmaskedit22.Text );
f_645.f_ini.WriteString('设置参数', 'C211', Rzmaskedit23.Text );
f_645.f_ini.WriteString('设置参数', 'C212', Rzmaskedit24.Text );
f_645.f_ini.WriteString('设置参数', 'C510', Rzmaskedit25.Text + Rzmaskedit27.Text+ Rzmaskedit28.Text+ Rzmaskedit29.Text);
f_645.f_ini.WriteString('设置参数', 'C511', Rzmaskedit26.Text );
//时段。时区参数
f_645.f_ini.WriteString('设置参数', 'C310', Rzmaskedit31.Text );
f_645.f_ini.WriteString('设置参数', 'C311', Rzmaskedit32.Text );
f_645.f_ini.WriteString('设置参数', 'C312', Rzmaskedit33.Text );
f_645.f_ini.WriteString('设置参数', 'C313', Rzmaskedit34.Text );
f_645.f_ini.WriteString('设置参数', 'C314', Rzmaskedit35.Text );
Rzbmpbutton1.Enabled := true;
Rzbmpbutton2.Enabled := true;
Rzbmpbutton3.Enabled := true;
end;
procedure TF_bcset.RzBmpButton1Click(Sender: TObject);
var
i:integer;
begin
if (trim(Rzmaskedit31.Text) = '0') or (trim(Rzmaskedit31.Text) = '00') or (trim(Rzmaskedit31.Text) = '') then
begin
MyMsgBox(' 请先填写【年时区数】!','系 统 错 误', 0);
Rzmaskedit31.SetFocus;
exit;
end;
if (trim(Rzmaskedit32.Text) = '0') or (trim(Rzmaskedit32.Text) = '00') or (trim(Rzmaskedit32.Text) = '') then
begin
MyMsgBox(' 请先填写【日时段表数】!','系 统 错 误', 0);
Rzmaskedit32.SetFocus;
exit;
end;
//设置年时区
if (strtoint(trim(Rzmaskedit31.Text)) = 1) or (strtoint(trim(Rzmaskedit32.Text)) = 1) then
begin
MyMsgBox(' 【年时区数】与【日时段表数】为 1 时,无需进行该参数设置!','系 统 错 误', 0);
exit;
end;
f_year.Caption :='年时区';
f_year.RzLabel5.Caption :='年时区序号';
f_year.RzLabel2.Caption :='月';
f_year.RzLabel3.Caption :='日';
f_year.RzLabel4.Caption :='时段表(套)号';
for i := 1 to strtoint(trim(Rzmaskedit31.Text)) do
f_year.RzComboBox1.Items.Add(PadLStr(inttostr(i),2,'0'));
for i := 1 to strtoint(trim(Rzmaskedit32.Text)) do
f_year.RzComboBox2.Items.Add(PadLStr(inttostr(i),2,'0'));
f_year.ShowModal;
end;
procedure TF_bcset.RzBmpButton2Click(Sender: TObject);
var
i:integer;
begin
if (trim(Rzmaskedit32.Text) = '0') or (trim(Rzmaskedit32.Text) = '00') or (trim(Rzmaskedit32.Text) = '') then
begin
MyMsgBox(' 请先填写【日时段表数】!','系 统 错 误', 0);
Rzmaskedit32.SetFocus;
exit;
end;
if (trim(Rzmaskedit33.Text) = '0') or (trim(Rzmaskedit33.Text) = '00') or (trim(Rzmaskedit33.Text) = '') then
begin
MyMsgBox(' 请先填写【日时段(每日切换数)】!','系 统 错 误', 0);
Rzmaskedit33.SetFocus;
exit;
end;
if (trim(Rzmaskedit34.Text) = '0') or (trim(Rzmaskedit34.Text) = '00') or (trim(Rzmaskedit34.Text) = '') then
begin
MyMsgBox(' 请先填写【费率数】!','系 统 错 误', 0);
Rzmaskedit34.SetFocus;
exit;
end;
//设置年时区
f_year.Caption :='日时段';
f_year.RzLabel5.Caption :='时段表(套)序号';
f_year.RzLabel2.Caption :='时';
f_year.RzLabel3.Caption :='分';
f_year.RzLabel4.Caption :='费率号';
for i := 1 to strtoint(trim(Rzmaskedit32.Text)) do
f_year.RzComboBox1.Items.Add(PadLStr(inttostr(i),2,'0'));
for i := 1 to strtoint(trim(Rzmaskedit34.Text)) do
f_year.RzComboBox2.Items.Add(PadLStr(inttostr(i),2,'0'));
f_year.ShowModal;
end;
procedure TF_bcset.RzBmpButton3Click(Sender: TObject);
var
i:integer;
begin
if (trim(Rzmaskedit32.Text) = '0') or (trim(Rzmaskedit32.Text) = '00') or (trim(Rzmaskedit32.Text) = '') then
begin
MyMsgBox(' 请先填写【日时段表数】!','系 统 错 误', 0);
Rzmaskedit32.SetFocus;
exit;
end;
if (trim(Rzmaskedit34.Text) = '0') or (trim(Rzmaskedit34.Text) = '00') or (trim(Rzmaskedit34.Text) = '') then
begin
MyMsgBox(' 请先填写【费率数】!','系 统 错 误', 0);
Rzmaskedit34.SetFocus;
exit;
end;
if (trim(Rzmaskedit35.Text) = '0') or (trim(Rzmaskedit35.Text) = '00') or (trim(Rzmaskedit35.Text) = '') then
begin
MyMsgBox(' 请先填写【公休假日数】!','系 统 错 误', 0);
Rzmaskedit35.SetFocus;
exit;
end;
//设置年时区
f_year.Caption :='公共假日时段';
f_year.RzLabel5.Caption :='公共假日序号';
f_year.RzLabel2.Caption :='月';
f_year.RzLabel3.Caption :='日';
f_year.RzLabel4.Caption :='时段表(套)号';
for i := 1 to strtoint(trim(Rzmaskedit35.Text)) do
f_year.RzComboBox1.Items.Add(PadLStr(inttostr(i),2,'0'));
for i := 1 to strtoint(trim(Rzmaskedit34.Text)) do
f_year.RzComboBox2.Items.Add(PadLStr(inttostr(i),2,'0'));
f_year.ShowModal;
end;
procedure TF_bcset.FormClose(Sender: TObject; var Action: TCloseAction);
begin
f_645.checklist2RF; //编程
end;
procedure TF_bcset.RzMaskEdit21KeyPress(Sender: TObject; var Key: Char);
var
PointPos,StrLen:Integer;
begin
case key of
'0'..'9':
if (pos('.',RzMaskEdit21.Text)<>0 ) then
begin
PointPos := Pos('.',RzMaskEdit21.Text);
StrLen := Length(RzMaskEdit21.Text);
if StrLen-PointPos=2 then
begin
Key:=#0;
end;
end;
'.':
if (pos('.',RzMaskEdit21.Text)<>0 ) then
Key:=#0;
#8:;
end;
end;
procedure TF_bcset.RzMaskEdit22KeyPress(Sender: TObject; var Key: Char);
var
PointPos,StrLen:Integer;
begin
case key of
'0'..'9':
if (pos('.',RzMaskEdit22.Text)<>0 ) then
begin
PointPos := Pos('.',RzMaskEdit22.Text);
StrLen := Length(RzMaskEdit22.Text);
if StrLen-PointPos=2 then
begin
Key:=#0;
end;
end;
'.':
if (pos('.',RzMaskEdit22.Text)<>0 ) then
Key:=#0;
#8:;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -