⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spjcxx.~pas

📁 这是用Delphi编写的中小企业管理系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -