📄 spjcxx.~pas
字号:
insertState1 := False;
B2.Enabled := True;
B3.Enabled := False;
B5.Enabled := True;
B9.Enabled := True;
B10.Enabled := True;
B11.Enabled := False;
B12.Enabled := False;
EditValue;
wsj.ReadOnly := False;
hsj.ReadOnly := False;
end;
procedure Tf_spjcxx.CopyToRecord;
begin
with Temp do
begin
Rspmc := spmc.Text;
Rcs:= cs.ItemIndex;
Rjbdw := jbdw.ItemIndex;
Rcgdw := cgdw.ItemIndex;
Rspzl := spzl.ItemIndex;
Rjhsgx := Edit1.Text;
Rhsgx := Edit2.Text;
Rcd := cd.Text;
Rgg := gg.Text;
Rwsj:= wsj.Text;
Rhsj := hsj.Text;
Rsl := sl.Text;
Rse := se.Text;
end;
end;
procedure Tf_spjcxx.CopyToForm;
begin
with Temp do
begin
spmc.Text := Rspmc;
cs.ItemIndex := Rcs;
jbdw.ItemIndex := Rjbdw;
cgdw.ItemIndex := Rcgdw;
spzl.ItemIndex := Rspzl;
Edit1.Text := Rjhsgx;
Edit2.Text := Rhsgx;
cd.Text := Rcd;
gg.Text := Rgg;
wsj.Text:= Rwsj;
hsj.Text :=Rhsj;
sl.Text := Rsl;
se.Text := Rse;
end;
end;
procedure Tf_spjcxx.BCopyClick(Sender: TObject);
begin
inherited;
CopyToRecord;
BCopy.Enabled := True;
end;
procedure Tf_spjcxx.BPasteClick(Sender: TObject);
begin
inherited;
CopyDisable := True;
CopyToForm;
CopyDisable := False;
end;
procedure Tf_spjcxx.FormShow(Sender: TObject);
begin
inherited;
jbdw.Clear;
cgdw.Clear;
spzl.Clear;
With Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select dwmc from t_kcdw');
Open;
end;
if Data.Query1.RecordCount>0 then
while Not Data.Query1.Eof do
begin
jbdw.Items.Add(Data.Query1.Fields[0].AsString);
cgdw.Items.Add(Data.Query1.Fields[0].AsString);
Data.Query1.Next;
end;
jbdw.ItemIndex := 0;
cgdw.ItemIndex := 0;
cs.Clear;
With Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select csmc from t_cszl');
Open;
end;
if Data.Query1.RecordCount>0 then
while Not Data.Query1.Eof do
begin
cs.Items.Add(Data.Query1.Fields[0].AsString);
Data.Query1.Next;
end;
cs.ItemIndex := 0;
With Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select lbmc from t_kclb');
Open;
end;
if Data.Query1.RecordCount>0 then
while Not Data.Query1.Eof do
begin
spzl.Items.Add(Data.Query1.Fields[0].AsString);
Data.Query1.Next;
end;
spzl.ItemIndex := 0;
Label12.Caption := Trim(jbdw.Text);
Label13.Caption := Trim(cgdw.Text);
B4.OnClick(Sender);
end;
procedure Tf_spjcxx.EditValue;
begin
with Data.Query2 do
begin
spdm.Text := Trim(FieldByName('spdm').AsString);
spmc.Text := Trim(FieldByName('spmc').AsString);
cs.ItemIndex := cs.Items.IndexOf(Trim(FieldByName('cs').AsString));
jbdw.ItemIndex := jbdw.Items.IndexOf(Trim(FieldByName('jbdw').AsString));
cgdw.ItemIndex := cgdw.Items.IndexOf(Trim(FieldByName('cgdw').AsString));
Edit2.Text := FieldByName('hsgx').AsString;
cd.Text := Trim(FieldByName('cd').AsString);
gg.Text := Trim(FieldByName('gg').AsString);
wsj.Text:= FloatToStr(FieldByName('wsj').AsFloat);
hsj.Text:= FloatToStr(FieldByName('hsj').AsFloat);
sl.Text := FloatToStr(FieldByName('sl').AsFloat);
se.Text := FloatToStr(FieldByName('se').AsFloat);
spzl.ItemIndex := spzl.Items.IndexOf(Trim(FieldByName('spzl').AsString));
Label12.Caption := Trim(jbdw.Text);
Label13.Caption := Trim(cgdw.Text);
end;
end;
procedure Tf_spjcxx.wsjKeyPress(Sender: TObject; var Key: Char);
var
i: Boolean;
begin
i := (Key<#8)and(Key>#8)and(Key<#46)or(Key>#46)and(Key<#48)or(Key>#57);
if i then
Key := #0;
end;
procedure Tf_spjcxx.wsjChange(Sender: TObject);
begin
if (DisableChange = True)or(CopyDisable = True) then
Exit;
if InsertState1 = True then
begin
//if wsj.ReadOnly = False then
if Trim(wsj.Text)<>'' then
begin
hsj.ReadOnly := True;
if Trim(sl.Text)<>'' then
begin
hsj.Text :=Trim(Format('%10.4f',[StrToFloat(wsj.Text)*(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
hsj.Clear;
end
else
begin
hsj.Clear;
hsj.ReadOnly := False;
se.Clear;
end;
end
else
begin
if (Trim(wsj.Text)<>'')and(Trim(sl.Text)<>'') then
begin
hsj.Text :=Trim(Format('%10.4f',[StrToFloat(wsj.Text)*(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
begin
hsj.Clear;
se.Clear;
end;
end;
end;
procedure Tf_spjcxx.hsjChange(Sender: TObject);
begin
if (DisableChange = False)or(CopyDisable = True) then
Exit;
if InsertState1 = True then
begin
if (Trim(hsj.Text)<>'') then
begin
wsj.ReadOnly := True;
if Trim(sl.Text)<>'' then
begin
wsj.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)/(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
wsj.Clear;
end
else
begin
wsj.ReadOnly := False;
wsj.Clear;
se.Clear;
end;
end
else
begin
if (Trim(hsj.Text)<>'')and(Trim(sl.Text)<>'') then
begin
wsj.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)/(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
begin
wsj.Clear;
se.Clear;
end;
end;
end;
procedure Tf_spjcxx.slChange(Sender: TObject);
begin
inherited;
if CopyDisable = True then
Exit;
if InsertState1 = True then
begin
if Trim(sl.Text)<>'' then
begin
if wsj.ReadOnly = True then
begin
if Trim(hsj.Text)<>'' then
begin
wsj.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)/(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
begin
wsj.Clear;
se.Clear;
end;
end
else if hsj.ReadOnly = True then
begin
if Trim(wsj.Text)<>'' then
begin
hsj.Text := Trim(Format('%10.4f',[StrToFloat(wsj.Text)*(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
begin
hsj.Clear;
se.Clear;
end;
end;
end
else
begin
if wsj.ReadOnly = False then
begin
hsj.Clear;
se.Clear;
end
else if hsj.ReadOnly= False then
begin
wsj.Clear;
se.Clear;
end;
end;
end
else
begin
if Trim(sl.Text)<>'' then
begin
if Trim(wsj.Text)<>'' then
begin
hsj.Text := Trim(Format('%10.4f',[StrToFloat(wsj.Text)*(1+StrToFloat(sl.Text))]));
se.Text := Trim(Format('%10.4f',[StrToFloat(hsj.Text)-StrToFloat(wsj.Text)]));
end
else
begin
hsj.Clear;
se.Clear;
end;
end
else
begin
hsj.Clear;
se.Clear;
end;
//
end;
end;
procedure Tf_spjcxx.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Case Key of
VK_INSERT : if B1.Enabled = True then
B1.OnClick(Sender);
VK_F2: if B2.Enabled = True then
B2.OnClick(Sender);
VK_F3: if B3.Enabled = True then
B3.OnClick(Sender);
VK_End: if B4.Enabled = True then
B4.OnClick(Sender);
VK_Left: if (B9.Enabled = True)and(Shift =[ssAlt]) then
B9.OnClick(Sender);
VK_Up: if (B10.Enabled = True)and(Shift =[ssAlt]) then
B10.OnClick(Sender);
VK_Down: if (B11.Enabled = True)and(Shift =[ssAlt]) then
B11.OnClick(Sender);
VK_Right: if (B12.Enabled = True)and(Shift =[ssAlt]) then
B12.OnClick(Sender);
VK_DELETE: if B5.Enabled = True then
B5.OnClick(Sender);
VK_ESCAPE: if B8.Enabled = True then
B8.OnClick(Sender);
VK_F7 :if BPaste.Enabled = True then
BPaste.OnClick(Sender);
VK_F8: if BCopy.Enabled = True then
BCopy.OnClick(Sender);
end;
end;
procedure Tf_spjcxx.wsjEnter(Sender: TObject);
begin
DisableChange := False;
end;
procedure Tf_spjcxx.hsjEnter(Sender: TObject);
begin
DisableChange := True;
end;
procedure Tf_spjcxx.jbdwChange(Sender: TObject);
begin
inherited;
Label12.Caption := Trim(jbdw.Text);
cgdw.OnChange(Sender);
end;
procedure Tf_spjcxx.cgdwChange(Sender: TObject);
begin
inherited;
Label13.Caption := Trim(cgdw.Text);
if Trim(jbdw.Text)=Trim(cgdw.Text)then
begin
Edit2.Text := '1';
Edit2.ReadOnly := True;
end
else
Edit2.ReadOnly := False;
end;
procedure Tf_spjcxx.Edit2KeyPress(Sender: TObject; var Key: Char);
var
i: Boolean;
begin
inherited;
i := (Key<#8)or(Key>#8)and(Key<#48)or(Key>#57);
if i then
Key := #0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -