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

📄 cp.pas

📁 用delphi开发的 人事管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  sql:='insert into kjcsb(csdm,yf,csmc) values('
        +'''1'','''+Trim(Edit1.Text)+''','
        +'''出盘标志'')';
  //Sql := 'update kjcsb set csdm=''1'' where yf='''+Trim(Edit1.Text)+''''
  //      +' and csmc=''出盘标志''';
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add(Sql);
  Query1.ExecSQL;
  if Copy(Trim(Edit1.Text),5,2) = '12' then
    NextMonth := IntToStr(StrToInt(Copy(Trim(Edit1.Text),5,2))+1)+'01'
  else
    NextMonth := IntToStr(StrToInt(Trim(Edit1.Text))+1);
  Sql := 'insert into kjcsb(csdm,yf,csmc) values('
        +'''0'','''+NextMonth+''','
        +'''出盘标志'')';
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add(Sql);
  Query1.ExecSQL;
end;


procedure Tfrm_cp.N1Click(Sender: TObject);
begin
 Application.CreateForm(Tfrm_yggzjgtz, frm_yggzjgtz);
 Frm_yggzjgtz.Button3.Caption := '确认新增(&A)';
end;

procedure Tfrm_cp.N2Click(Sender: TObject);
begin
 Application.CreateForm(Tfrm_yggzjgtz, frm_yggzjgtz);
 frm_yggzjgtz.Edit1.Text := StringGrid1.Cells[0,SelRowCount];
 frm_yggzjgtz.Button2.Click;
 frm_yggzjgtz.Button3.Caption := '确认修改(&S)';
end;

procedure Tfrm_cp.Save_Disk(Str: String);
var I,J,Count,Amount,ShiFacol: Integer;
    TempStr,sql,sfgz,ygh: String;
begin
  
   for J := 0 to StringGrid1.ColCount - 1 do
   begin
      if (StringGrid1.Rows[0].Strings[J]='实发工资') then
      shifacol:=J;
   end;
   if Query_gzdx.active then Query_gzdx.Close;
   Query_gzdx.sql.clear;
   Query_gzdx.sql.add('select * from gzdxb ');

   Query_gzdx.open;
   if  not Query_gzdx.isempty then
   begin
     Query_gzdx.sql.clear;
     Query_gzdx.sql.add('delete from gzdxb ');
     Query_gzdx.ExecSQL;
   end;
  ListBox1.Items.Clear;
  for I := 1 to StringGrid1.RowCount - 1 do
  begin
    if I < StringGrid1.RowCount - 1 then
    begin
      for J := 0 to StringGrid1.ColCount - 1 do
      begin
        if J = 0 then
          TempStr := '   '+BankShortBit(StringGrid1.Cells[J,I],1);
        if J = 1 then
          TempStr := TempStr + BankShortBit(StringGrid1.Cells[J,I],0);
        if J = shifacol then
        //if J = StringGrid1.ColCount - 1 then
          TempStr := TempStr + BankBit(FloatToStr(
                     StrToFloat(StringGrid1.Cells[J,I])*100));
      end;
      ListBox1.Items.Add(TempStr);
      if Query_gzdx.active then Query_gzdx.Close;
         Query_gzdx.sql.Clear;
         ygh:=stringgrid1.Cells[0,i];
         sfgz:=StringGrid1.Cells[shifacol,I];
         Sql := 'insert into gzdxb(ygh,sfgz) values('''+ygh+''','''+sfgz+''')';
         Query_gzdx.sql.Add(sql);
         Query_gzdx.ExecSQL;
    end;
  end;
  ListBox1.Items.Add(BankLongBit(IntToStr(StringGrid1.RowCount - 2),0)+
                     BankLongBit(FloatToStr(StrToFloat(
                              //StringGrid1.Cells[StringGrid1.ColCount-1,
                              StringGrid1.Cells[shifacol,
                              StringGrid1.RowCount-1])*100),1));
  ListBox1.Items.SaveToFile(Str);
end;

function Tfrm_cp.BankBit(Str: String): String;
begin
  if Str = '000' then
    Result := '000000'
  else
  begin
    if Length (Str) = 6 then
      Result := Str;
    if Length (Str) = 5 then
      Result := ' '+Str;
    if Length (Str) = 4 then
      Result := '  '+Str;
    if Length (Str) = 3 then
      Result := '   '+Str;
    if Length (Str) = 2 then
      Result := '    '+Str;
    if Length (Str) = 1 then
      Result := '     '+Str;
  end;
end;

function Tfrm_cp.BankLongBit(Str: String; Flag: Integer): String;
begin
  if Flag = 0 then
  begin
    if Length(Str) = 1 then
      Result := '        '+Str;
    if Length(Str) = 2 then
      Result := '       '+Str;
    if Length(Str) = 3 then
      Result := '      '+Str;
    if Length(Str) = 4 then
      Result := '     '+Str;
    if Length(Str) = 5 then
      Result := '    '+Str;
    if Length(Str) = 6 then
      Result := '   '+Str;
    if Length(Str) = 7 then
      Result := '  '+Str;
    if Length(Str) = 8 then
      Result := ' '+Str;
    if Length(Str) = 9 then
      Result := Str;
  end;
  if Flag = 1 then
  begin
    if Length(Str) = 1 then
      Result := '             '+Str;
    if Length(Str) = 2 then
      Result := '            '+Str;
    if Length(Str) = 3 then
      Result := '           '+Str;
    if Length(Str) = 4 then
      Result := '          '+Str;
    if Length(Str) = 5 then
      Result := '         '+Str;
    if Length(Str) = 6 then
      Result := '        '+Str;
    if Length(Str) = 7 then
      Result := '       '+Str;
    if Length(Str) = 8 then
      Result := '      '+Str;
    if Length(Str) = 9 then
      Result := '     '+Str;
    if Length(Str) = 10 then
      Result := '    '+Str;
    if Length(Str) = 11 then
      Result := '   '+Str;
    if Length(Str) = 12 then
      Result := '  '+Str;
    if Length(Str) = 13 then
      Result := ' '+Str;
    if Length(Str) = 14 then
      Result := Str;
  end;
end;

function Tfrm_cp.BankShortBit(Str: String;Flag: Integer): String;
begin
  if Flag = 0 then
  begin
    if Length(Str) = 4 then
      Result := Str + '    ';
    if Length(Str) = 6 then
      Result := Str + '  ';
    if Length(Str) = 8 then
      Result := Str;
  end;
  if Flag = 1 then
  begin
    if Length (Str) = 6 then
      Result := Str;
    if Length (Str) = 5 then
      Result := ' '+Str;
    if Length (Str) = 4 then
      Result := '  '+Str;
    if Length (Str) = 3 then
      Result := '   '+Str;
    if Length (Str) = 2 then
      Result := '    '+Str;
    if Length (Str) = 1 then
      Result := '     '+Str;
  end;
end;

procedure Tfrm_cp.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if (CanSelect) and (ARow <> StringGrid1.RowCount - 1) then
    if  ARow <> 0 then
      SelRowCount := ARow;
end;

procedure Tfrm_cp.PopupMenu1Popup(Sender: TObject);
begin
  if SelRowCount = -1 then
    N2.Enabled := False
  else N2.Enabled := True;
end;

procedure Tfrm_cp.Button4Click(Sender: TObject);
begin
  if Trim(StringGrid1.Cols[0].Strings[1]) = '' then
  begin
    Application.MessageBox('没有可打印的数据!','系统提示',mb_IconInformation+mb_OK);
    Exit;
  end;
  if Application.MessageBox('确认要打印吗?','系统提示',mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit;
    PrintStringGrid(StringGrid1,'HX');
end;

procedure Tfrm_cp.Button3Click(Sender: TObject);
var Sql,NextMonth,NowDate: String;
begin
  NowDate := FormatDatetime('YYYYMMDDHHMMSS',Date);
  if Trim(Edit1.Text) <> Copy(NowDate,1,6) then
  begin
    Application.MessageBox('只能回滚当月的数据!','系统提示',mb_IconInformation+mb_OK);
    Exit;
  end;
  if Copy(Trim(Edit1.Text),5,2) = '12' then
    NextMonth := IntToStr(StrToInt(Copy(Trim(Edit1.Text),5,2))+1)+'01'
  else
    NextMonth := IntToStr(StrToInt(Trim(Edit1.Text))+1);
  if Application.MessageBox(PChar('确认将'+Edit1.Text+'月的数据回滚吗?'),'系统提示',mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit;
  Sql := 'Delete From ygxjjgb Where yf='''+NextMonth+'''';
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add(Sql);
  Query1.ExecSQL;
  Sql := 'update kjcsb set csdm=''0'' where yf='''+Trim(Edit1.Text)
        +''' and csmc=''出盘标志''';
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add(Sql);
  Query1.ExecSQL;
  Sql := 'delete from kjcsb where yf='''+NextMonth
        +''' and csmc=''出盘标志''';
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add(Sql);
  Query1.ExecSQL;
  Application.MessageBox(PChar('回滚'+Edit1.Text+'月的数据成功!'),'系统提示',mb_IconInformation+mb_OK);
end;

function Tfrm_cp.ReturnNextMonth(Curr: Integer): String;
begin
  if StrToInt(Copy(IntToStr(Curr),5,2))+1>12 then
    Result := IntToStr(StrToInt(Copy(IntToStr(Curr),1,4))+1)+'01'
  else
    Result := IntToStr(Curr+1);
end;

procedure Tfrm_cp.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (edit1.text<>'') and (key=#13) then
button5click(sender);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -