📄 zcfzshujuluru.pas
字号:
unit ZCFZShuJuLuRu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Mask, DBCtrls, DBGridEh, BusinessSkinForm,
bsSkinCtrls, bsSkinBoxCtrls, DB, variants, GridsEh, RzEdit;
type
TZCFZShuJuWeiHuFrm = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
kmdh: TbsSkinEdit;
Label4: TbsSkinStdLabel;
bsSkinStdLabel1: TbsSkinStdLabel;
DBGridEh1: TDBGridEh;
Btn3: TbsSkinButton;
Btn2: TbsSkinButton;
Btn1: TbsSkinButton;
Lbl1: TbsSkinStdLabel;
bsSkinStdLabel2: TbsSkinStdLabel;
bsSkinStdLabel3: TbsSkinStdLabel;
bsSkinStdLabel4: TbsSkinStdLabel;
bsSkinStdLabel5: TbsSkinStdLabel;
bsSkinStdLabel6: TbsSkinStdLabel;
sqyejf: TRzNumericEdit;
bqfsejf: TRzNumericEdit;
bqyejf: TRzNumericEdit;
sqyedf: TRzNumericEdit;
bqfsedf: TRzNumericEdit;
bqyedf: TRzNumericEdit;
procedure FormShow(Sender: TObject);
procedure sqyejfEnter(Sender: TObject);
procedure sqyejfExit(Sender: TObject);
procedure Btn1Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure Btn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sqyejfKeyPress(Sender: TObject; var Key: Char);
procedure kmdhEnter(Sender: TObject);
procedure sqyejfKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure kmdhKeyPress(Sender: TObject; var Key: Char);
procedure bqyedfKeyPress(Sender: TObject; var Key: Char);
procedure bqyejfKeyPress(Sender: TObject; var Key: Char);
procedure sqyejfClick(Sender: TObject);
procedure DBGridEh1CellClick(Column: TColumnEh);
procedure kmdhExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ZCFZShuJuWeiHuFrm: TZCFZShuJuWeiHuFrm;
sTemp: string;
implementation
uses ZCFZ_DataModel, FunctionModel;
{$R *.DFM}
procedure TZCFZShuJuWeiHuFrm.FormShow(Sender: TObject);
var
Loop: Integer;
begin
with ZCFZ_DM do
begin
ZCFZ_QueryEdit1.SQL.Clear;
ZCFZ_QueryEdit1.SQL.Add('select * from gkk_yjb order by kmdh');
ZCFZ_QueryEdit1.Active := True;
end;
kmdh.SetFocus;
end;
procedure TZCFZShuJuWeiHuFrm.sqyejfEnter(Sender: TObject);
begin
(Sender as TRzNumericEdit).Text := RemoveBD((Sender as TRzNumericEdit).Text);
(Sender as TRzNumericEdit).SelectAll;
end;
procedure TZCFZShuJuWeiHuFrm.sqyejfExit(Sender: TObject);
begin
(Sender as TRzNumericEdit).Value := (Sender as TRzNumericEdit).Value / 100;
end;
procedure TZCFZShuJuWeiHuFrm.Btn1Click(Sender: TObject);
var
s, s1: string;
jepd1, jepd2: Int64;
sqyejf1, sqyedf1, bqfsejf1, bqfsedf1, bqyejf1, bqyedf1: Int64;
begin
if kmdh.Text = '' then
kmdh.SetFocus;
with ZCFZ_DM do
begin
s := Copy(kmdh.Text, 1, 1);
s1 := Copy(kmdh.Text, 1, 2);
sqyejf1 := StrToInt64(RemoveBD(sqyejf.Text));
sqyedf1 := StrToInt64(RemoveBD(sqyedf.Text));
bqfsejf1 := StrToInt64(RemoveBD(bqfsejf.Text));
bqfsedf1 := StrToInt64(RemoveBD(bqfsedf.Text));
bqyejf1 := StrToInt64(RemoveBD(bqyejf.Text));
bqyedf1 := StrToInt64(RemoveBD(bqyedf.Text));
if (s = '1') or (s1 = '51') then
begin
jepd1 := sqyejf1 + bqfsejf1 - bqfsedf1;
jepd2 := bqyejf1;
if jepd1 <> jepd2 then
begin
bsSkinMessage1.MessageDlg('数据横向校验不平,请重新输入。',
mtConfirmation, [mbYes], 0);
bqfsejf.SetFocus;
Exit;
end;
end;
if (s = '2') or (s = '4') or (s1 = '50') then
begin
jepd1 := sqyedf1 + bqfsedf1 - bqfsejf1;
jepd2 := bqyedf1;
if jepd1 <> jepd2 then
begin
bsSkinMessage1.MessageDlg('数据横向校验不平,请重新输入。',
mtConfirmation, [mbYes], 0);
bqfsejf.SetFocus;
Exit;
end;
end;
if (s = '3') then
begin
jepd1 := sqyejf1 - sqyedf1 + bqfsejf1 - bqfsedf1;
jepd2 := bqyejf1 - bqyedf1;
if jepd1 <> jepd2 then
begin
bsSkinMessage1.MessageDlg('数据横向校验不平,请重新输入。',
mtConfirmation, [mbYes], 0);
bqfsejf.SetFocus;
Exit;
end;
end;
if (s = '6') then
begin
jepd1 := sqyejf1 + bqfsejf1 - bqfsedf1;
jepd2 := bqyejf1;
if jepd1 <> jepd2 then
begin
bsSkinMessage1.MessageDlg('数据横向校验不平,请重新输入。',
mtConfirmation, [mbYes], 0);
bqfsejf.SetFocus;
Exit;
end;
end;
ZCFZ_QueryEdit1.SQL.Clear;
sTemp := Format('select * from gkk_yjb where kmdh=''%s'' ', [kmdh.Text]);
ZCFZ_QueryEdit1.SQL.Add(sTemp);
ZCFZ_QueryEdit1.Active := True;
if not ZCFZ_QueryEdit1.Eof then
begin
ZCFZ_QueryEdit1.edit;
ZCFZ_QueryEdit1['kmdh'] := kmdh.Text;
ZCFZ_QueryEdit1['sqyejf'] := sqyejf.Value;
ZCFZ_QueryEdit1['sqyedf'] := sqyedf.Value;
ZCFZ_QueryEdit1['bqfsejf'] := bqfsejf.Value;
ZCFZ_QueryEdit1['bqfsedf'] := bqfsedf.Value;
ZCFZ_QueryEdit1['bqyejf'] := bqyejf.Value;
ZCFZ_QueryEdit1['bqyedf'] := bqyedf.Value;
ZCFZ_QueryEdit1.post;
end
else
begin
ZCFZ_QueryEdit1.Insert;
ZCFZ_QueryEdit1['kmdh'] := kmdh.Text;
ZCFZ_QueryEdit1['sqyejf'] := sqyejf.Value;
ZCFZ_QueryEdit1['sqyedf'] := sqyedf.Value;
ZCFZ_QueryEdit1['bqfsejf'] := bqfsejf.Value;
ZCFZ_QueryEdit1['bqfsedf'] := bqfsedf.Value;
ZCFZ_QueryEdit1['bqyejf'] := bqyejf.Value;
ZCFZ_QueryEdit1['bqyedf'] := bqyedf.Value;
ZCFZ_QueryEdit1.post;
end;
ZCFZ_QueryEdit1.SQL.Clear;
sTemp := 'select * from gkk_yjb order by kmdh';
ZCFZ_QueryEdit1.SQL.Add(sTemp);
ZCFZ_QueryEdit1.Active := True;
ZCFZ_QueryEdit1.Locate('kmdh', VarArrayOf([kmdh.Text]), [loPartialKey]);
DBGridEh1.DataSource.DataSet := ZCFZ_QueryEdit1;
end;
kmdh.SetFocus;
end;
procedure TZCFZShuJuWeiHuFrm.btn3Click(Sender: TObject);
var
sjbxh: string;
begin
sjbXh := DBGridEh1.Columns[1].DisplayText;
if sjbXh <> '' then
ZCFZ_DM.ZCFZ_QueryEdit1.Delete;
sjbXh := '';
end;
procedure TZCFZShuJuWeiHuFrm.Btn2Click(Sender: TObject);
begin
close;
end;
procedure TZCFZShuJuWeiHuFrm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
close;
end;
procedure TZCFZShuJuWeiHuFrm.sqyejfKeyPress(Sender: TObject; var Key: Char);
begin
if (Key <> Char(VK_RETURN)) and (Key <> Char(VK_BACK)) and
((Key < Char($30)) or (Key > Char($39))) then
Key := #0;
if Key = #13 then
begin
key := #0;
PostKeyEx32(VK_TAB, [], false);
end;
end;
procedure TZCFZShuJuWeiHuFrm.kmdhEnter(Sender: TObject);
begin
kmdh.Text := '';
end;
procedure TZCFZShuJuWeiHuFrm.sqyejfKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_down then
PostKeyEx32(VK_TAB, [], false);
if key = VK_up then
PostKeyEx32(VK_TAB, [ssShift], true);
end;
procedure TZCFZShuJuWeiHuFrm.kmdhKeyPress(Sender: TObject; var Key: Char);
var
s, s1: string;
begin
if (Key <> Char(VK_RETURN)) and (Key <> Char(VK_BACK)) and
((Key < Char($30)) or (Key > Char($39))) then
Key := #0;
if Key = #13 then
begin
key := #0;
with ZCFZ_DM do
begin
ZCFZ_Qry1.SQL.Clear;
sTemp := Format('select * from xkmb where kmdh=''%s'' ', [kmdh.Text]);
ZCFZ_Qry1.SQL.Add(sTemp);
ZCFZ_Qry1.Active := True;
if not ZCFZ_Qry1.Eof then
begin
Lbl1.Caption := ZCFZ_Qry1['kmmc'];
s := Copy(kmdh.Text, 1, 1);
s1 := Copy(kmdh.Text, 1, 2);
if (s = '1') or (s1 = '51') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
end;
if (s = '2') or (s = '4') or (s1 = '50') then
begin
sqyejf.Enabled := False;
sqyedf.Enabled := True;
bqyejf.Enabled := False;
bqyedf.Enabled := True;
end;
if (s = '3') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := True;
bqyejf.Enabled := True;
bqyedf.Enabled := True;
end;
if (s = '6') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
end;
PostKeyEx32(VK_TAB, [], false);
end
else
begin
kmdh.Text := '';
kmdh.SetFocus;
end;
end;
end;
end;
procedure TZCFZShuJuWeiHuFrm.bqyedfKeyPress(Sender: TObject;
var Key: Char);
var
x, y: Integer;
begin
if (Key <> Char(VK_RETURN)) and (Key <> Char(VK_BACK)) and
((Key < Char($30)) or (Key > Char($39))) then
Key := #0;
if Key = #13 then
begin
key := #0;
x := Left + Btn1.Left + 25;
y := top + Btn1.Top + 30;
SetCursorPos(x, y); //模拟鼠标左键点击按钮
Mouse_Event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
end;
end;
procedure TZCFZShuJuWeiHuFrm.bqyejfKeyPress(Sender: TObject;
var Key: Char);
var
x, y: Integer;
begin
if (Key <> Char(VK_RETURN)) and (Key <> Char(VK_BACK)) and
((Key < Char($30)) or (Key > Char($39))) then
Key := #0;
if Key = #13 then
begin
key := #0;
if (Copy(kmdh.Text, 1, 1) = '1') or (Copy(kmdh.Text, 1, 1) = '6') then
begin
x := Left + Btn1.Left + 25;
y := top + Btn1.Top + 30;
SetCursorPos(x, y); //模拟鼠标左键点击按钮
Mouse_Event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
end
else
PostKeyEx32(VK_TAB, [], false);
end;
end;
procedure TZCFZShuJuWeiHuFrm.sqyejfClick(Sender: TObject);
begin
(Sender as TRzNumericEdit).Text := RemoveBD((Sender as TRzNumericEdit).Text);
(Sender as TRzNumericEdit).SelectAll;
end;
procedure TZCFZShuJuWeiHuFrm.DBGridEh1CellClick(Column: TColumnEh);
var
s, s1: string;
begin
kmdh.Text := DBGridEh1.Columns[0].DisplayText;
sqyejf.Text := DBGridEh1.Columns[1].DisplayText;
sqyedf.Text := DBGridEh1.Columns[2].DisplayText;
bqfsejf.Text := DBGridEh1.Columns[3].DisplayText;
bqfsedf.Text := DBGridEh1.Columns[4].DisplayText;
bqyejf.Text := DBGridEh1.Columns[5].DisplayText;
bqyedf.Text := DBGridEh1.Columns[6].DisplayText;
s := Copy(kmdh.Text, 1, 1);
s1 := Copy(kmdh.Text, 1, 2);
if (s = '1') or (s1 = '51') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
end;
if (s = '2') or (s = '4') or (s1 = '50') then
begin
sqyejf.Enabled := False;
sqyedf.Enabled := True;
bqyejf.Enabled := False;
bqyedf.Enabled := True;
end;
if (s = '3') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := True;
bqyejf.Enabled := True;
bqyedf.Enabled := True;
end;
if (s = '6') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
end;
end;
procedure TZCFZShuJuWeiHuFrm.kmdhExit(Sender: TObject);
var
s, s1, sTemp: string;
begin
with ZCFZ_DM do
begin
ZCFZ_Qry1.SQL.Clear;
sTemp := Format('select * from gkk_yjb where kmdh=''%s'' ', [kmdh.Text]);
ZCFZ_Qry1.SQL.Add(sTemp);
ZCFZ_Qry1.Active := True;
if not ZCFZ_Qry1.Eof then
begin
sqyejf.Value := ZCFZ_Qry1['sqyejf'];
sqyedf.Value := ZCFZ_Qry1['sqyedf'];
bqfsejf.Value := ZCFZ_Qry1['bqfsejf'];
bqfsedf.Value := ZCFZ_Qry1['bqfsedf'];
bqyejf.Value := ZCFZ_Qry1['bqyejf'];
bqyedf.Value := ZCFZ_Qry1['bqyedf'];
end
else
begin
sqyejf.Value := 0;
sqyedf.Value := 0;
bqfsejf.Value := 0;
bqfsedf.Value := 0;
bqyejf.Value := 0;
bqyedf.Value := 0;
end;
s := Copy(kmdh.Text, 1, 1);
s1 := Copy(kmdh.Text, 1, 2);
if (s = '1') or (s1 = '51') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
sqyejf.SetFocus;
end;
if (s = '2') or (s = '4') or (s1 = '50') then
begin
sqyejf.Enabled := False;
sqyedf.Enabled := True;
bqyejf.Enabled := False;
bqyedf.Enabled := True;
sqyedf.SetFocus;
end;
if (s = '3') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := True;
bqyejf.Enabled := True;
bqyedf.Enabled := True;
sqyejf.SetFocus;
end;
if (s = '6') then
begin
sqyejf.Enabled := True;
sqyedf.Enabled := False;
bqyejf.Enabled := True;
bqyedf.Enabled := False;
sqyejf.SetFocus;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -