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

📄 pas_sz.pas

📁 比较详细的功能
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit pas_SZ;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids, ExtCtrls,
  DBCtrls;

type
  Tform_sz = class(TForm)
    DBGrid_CON: TDBGrid;
    ToolBar1: TToolBar;
    selectCon: TSpeedButton;
    del: TSpeedButton;
    GroupBox1: TGroupBox;
    Edit_remarks: TEdit;
    Label5: TLabel;
    Edit_cost: TEdit;
    Label4: TLabel;
    cb_houseno: TComboBox;
    Label7: TLabel;
    Label8: TLabel;
    Label3: TLabel;
    rb_zc: TRadioButton;
    rb_sr: TRadioButton;
    Label2: TLabel;
    Label9: TLabel;
    modify: TSpeedButton;
    add: TSpeedButton;
    cb_cno: TComboBox;
    Label10: TLabel;
    dtp_occurtime: TDateTimePicker;
    Label11: TLabel;
    rb_khfz: TRadioButton;
    rb_fdfz: TRadioButton;
    rb_yj: TRadioButton;
    DBGrid: TDBGrid;
    select: TSpeedButton;
    sp_htjf: TSpeedButton;
    Edit_thing: TComboBox;
    DBNavigator1: TDBNavigator;
    DBNavigator2: TDBNavigator;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label13: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    DBGrid1: TDBGrid;
    procedure selectClick(Sender: TObject);
    procedure cb_housenoDropDown(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure addClick(Sender: TObject);
    procedure modifyClick(Sender: TObject);
    procedure delClick(Sender: TObject);
    procedure cb_cnoDropDown(Sender: TObject);
    procedure selectConClick(Sender: TObject);
    procedure rb_yjClick(Sender: TObject);
    procedure rb_khfzClick(Sender: TObject);
    procedure rb_fdfzClick(Sender: TObject);
    procedure rb_zcClick(Sender: TObject);
    procedure rb_srClick(Sender: TObject);
    procedure sp_htjfClick(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure Edit_thingDropDown(Sender: TObject);
    procedure cb_housenoKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid_CONCellClick(Column: TColumn);
    procedure DBGrid_CONDblClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  form_sz: Tform_sz;

implementation
      uses pas_dm2, Pas_DM;
{$R *.dfm}

procedure Tform_sz.selectClick(Sender: TObject);
var
  s:string;
  i:integer;
begin
    if (cb_cno.Text='') then
    begin
      showmessage('合同号不能为空');
      exit;
    end;
     s:= ' where h_no=hp_no and hp_cno=ho_contractno and ho_validorno=1 and hp_cno = '''+trim(cb_cno.Text)+''' ';
      with pas_dm2.DM2.query_SZ do
     begin
        close;
        sql.Clear;
        sql.Add(' select hp_cno as 合同编号,'+
          ' h_landlord as 房东姓名 ,'+
          ' hp_cost as 花费,'+
          ' hp_occurtime as 发生时间,'+
          ' hp_thing as 事情,'+
          ' hp_remarks as 备注,'+
          ' h_no 房子'+
          '   from house,housepay,house_histry '+s);
          open;
     end;

     i:=0;
     pas_dm2.DM2.query_SZ.First;
     while not pas_dm2.DM2.query_SZ.Eof do
     begin
      i:=i+pas_dm2.DM2.query_SZ.Fields.Fields[2].asinteger;
      pas_dm2.DM2.query_SZ.Next;
      end;
      label18.Caption:=inttostr(i);

end;


procedure Tform_sz.cb_housenoDropDown(Sender: TObject);
var
  s:string;
begin
cb_cno.Text:='';
try
   with dm.AQ1 do
   begin
     close;
     sql.Clear;
     s:='select h_no from house ';
     sql.Add(s);
     open;
     cb_houseno.Items.Clear;
     while not dm.AQ1.Eof do
     begin
      cb_houseno.Items.Add(fields.Fields[0].asstring);
      next;
    end;
   end;
  except

  end;
end;
procedure Tform_sz.FormShow(Sender: TObject);
begin
  rb_zc.SetFocus;
  dtp_occurtime.DateTime:=now;
end;

procedure Tform_sz.addClick(Sender: TObject);
var
   s:string;
   i:integer;

begin
  if (cb_houseno.Text='')or (edit_cost.Text='')or(edit_thing.Text='') then
  begin
     showmessage('除备注外不能为空,请重输入!');
     exit;
  end;

  if IDOK=messagebox(handle,pchar('确认是添加到合同号" '+cb_cno.text+' "吗?别搞错啦哦'),'警告', MB_OKCANCEL) then
  begin

 //支出费用
if(rb_zc.Checked) then
   begin
   try
    with dm.AQ1 do
    begin
      close;
      sql.Clear;
      s:='insert into housepay(hp_no,hp_cost,hp_thing,hp_now,hp_remarks,hp_cord,hp_cno,hp_occurtime) values('''+
            trim(cb_houseno.Text)+''','''+trim(edit_cost.Text)+''','''+trim(edit_thing.Text)+''','''+FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+
            trim(edit_remarks.Text)+''',0,'''+trim(cb_cno.Text)+''','''+datetostr(dtp_occurtime.DateTime)+''')';
      sql.Add(s);
      ExecSQL;
      showmessage('添加支出'+'成功');
    end;
  except
     showmessage('添加失败');
   end;
    select.Click;
   exit;
   end;
 //收入费用
  if(rb_sr.Checked) then
  begin
   try
    with dm.AQ1 do
    begin
      close;
      sql.Clear;
      sql.Clear;
      s:='insert into housepay(hp_no,hp_cost,hp_thing,hp_now,hp_remarks,hp_cord,hp_cno,hp_occurtime) values('''+
            trim(cb_houseno.Text)+''','''+trim(edit_cost.Text)+''','''+trim(edit_thing.Text)+''','''+FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+
            trim(edit_remarks.Text)+''',1,'''+trim(cb_cno.Text)+''','''+datetostr(dtp_occurtime.DateTime)+''')';
       sql.Add(s);
         ExecSQL;
          showmessage('添加收入'+'成功');
    end;
  except
     showmessage('添加失败');
   end;
     select.Click;
     exit;
  end;

//房租
  if (rb_khfz.Checked) or (rb_fdfz.Checked) then
  begin
    i:=0;
    if (cb_cno.Text='') or (edit_cost.Text='')
    then
    begin
        showmessage('合同编号、租金不能为空');
        exit;
    end;

    with pas_dm.DM.AQ1 do
    begin
      try
      begin
          Close;
          SQL.Clear;
          s:='select max(p_paytimes)  from pay where p_cno='''+cb_cno.Text+'''';
          SQL.Add(s);
          open;
          if pas_dm.DM.AQ1.Fields[0].Value<>NULL then
          begin
          i:=pas_dm.DM.AQ1.Fields.Fields[0].AsInteger;
          end;
      end;
          except
          showmessage('失败');
      end;

    with dm.AQ1 do
    begin
      try
          begin
          Close;
          SQL.Clear;
          s:='insert into pay(p_cno,p_paytimes,p_paymoney,p_now,p_remarks,p_time) values('''+
                trim(cb_cno.Text)+''','''+
                inttostr(i+1)+''','''+edit_cost.Text+''','''+
                FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+edit_remarks.Text+''','''+datetostr(dtp_occurtime.DateTime)+''')';
          SQL.Add(s);
          execsql;
//同时修改表hint的
         with dm.AQ1 do
         begin
             try
             begin
             Close;
             SQL.Clear;
              s:='update hint set hi_fkorno=1 where hi_cno='''+cb_cno.Text+''' and '+
               ' hi_times='''+inttostr(i+1)+'''';
             SQL.Add(s);
             execsql;
             showmessage('付款成功');
             sp_htjf.Click;
             end;
             except
             showmessage('失败');
             end;
          end;
          end;
       except 
      end;
      exit;
    end;
    end;
    end;
    end;
end;


procedure Tform_sz.modifyClick(Sender: TObject);
var
s:string;
begin
  if IDOK=messagebox(handle,pchar('确认修改合同号" '+cb_cno.text+' "吗?别搞错啦哦'),'警告', MB_OKCANCEL) then
  begin
  if cb_houseno.Text='' then
  begin
    showmessage('房子编号不能为空');
    exit;
  end;
   try
    with dm.AQ1 do
    begin
      close;
      sql.Clear;
      s:='update housepay set hp_cost='''+trim(edit_cost.Text)+''',hp_thing='''+
      trim(edit_thing.text)+''',hp_remarks='''+trim(edit_remarks.text)+
      ''',hp_occurtime='''+datetostr(dtp_occurtime.DateTime )+
      ''',hp_cno='''+trim(cb_cno.Text)+
      ''' where hp_no='''+trim(cb_houseno.text)+'''' ;
      sql.Add(s);
      ExecSQL;
      showmessage('修改'+'成功');
      end;
     except
     showmessage('修改失败');
   end;
   select.Click;
   end;
end;

procedure Tform_sz.delClick(Sender: TObject);
var
s:string;
begin
if IDOK=messagebox(handle,pchar(cb_houseno.text+'将被删除'),'警告', MB_OKCANCEL)
   then
   begin
   try
    with dm.AQ1 do
    begin
      close;
      sql.Clear;
      s:='delete housepay where hp_no='''+trim(cb_houseno.text)+'''' ;
      sql.Add(s);
      ExecSQL;
      showmessage('删除'+'成功');
      end;
     except
     showmessage('删除失败');
   end;
 end;
end;

procedure Tform_sz.cb_cnoDropDown(Sender: TObject);
var
  s:string;
begin
 try
   with dm.AQ1 do
   begin

⌨️ 快捷键说明

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