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

📄 clientunit.pas

📁 企业经营管理系统开发实例导航-小区物业管理
💻 PAS
字号:
unit clientUnit;

interface

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

type
  TClientForm = class(TForm)
    Panel1: TPanel;
    ToolBar1: TToolBar;
    btadd: TBitBtn;
    btok: TBitBtn;
    Btdel: TBitBtn;
    btno1: TBitBtn;
    Panel2: TPanel;
    Label6: TLabel;
    Label8: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Label1: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    TS_ID: TDBEdit;
    TS_User: TDBEdit;
    UserTel: TDBEdit;
    AddRess: TDBEdit;
    chargeItemNum: TDBEdit;
    Com_Person: TDBEdit;
    TS_Memo: TDBMemo;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    Page1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    Panel4: TPanel;
    Panel5: TPanel;
    Label2: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    DBGrid2: TDBGrid;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBMemo1: TDBMemo;
    Label19: TLabel;
    DBEdit9: TDBEdit;
    Label20: TLabel;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    Label21: TLabel;
    DBEdit12: TDBEdit;
    Label22: TLabel;
    DBEdit13: TDBEdit;
    Label23: TLabel;
    DBEdit14: TDBEdit;
    Label24: TLabel;
    DBEdit15: TDBEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label25: TLabel;
    DBEdit16: TDBEdit;
    Label26: TLabel;
    DBEdit17: TDBEdit;
    Label27: TLabel;
    DBEdit18: TDBEdit;
    Label28: TLabel;
    DBEdit19: TDBEdit;
    Label29: TLabel;
    DBMemo2: TDBMemo;
    Panel6: TPanel;
    DBGrid3: TDBGrid;
    SpeedButton4: TSpeedButton;
    Panel7: TPanel;
    DBGrid4: TDBGrid;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label39: TLabel;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBEdit26: TDBEdit;
    DBMemo3: TDBMemo;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    procedure CheckStr(Sender: TObject; Name: string);
    procedure FormCreate(Sender: TObject);
    procedure btaddClick(Sender: TObject);
    procedure btokClick(Sender: TObject);
    procedure BtdelClick(Sender: TObject);
    procedure btno1Click(Sender: TObject);
    procedure Page1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ClientForm: TClientForm;

implementation

uses udm, dateUnit, selectTextUnit, SelectDataUnit;
{$R *.dfm}

procedure TClientForm.CheckStr(Sender: TObject; Name: string);
begin
  if Trim((sender as Tdbedit).Text) = '' then
  begin
    ShowMessage(Name + ': 此栏必须填写信息!');
    (Sender as TDBEdit).SetFocus;
  end;
end;

procedure TClientForm.FormCreate(Sender: TObject);
begin
  caption := '住户资料录入';
  page1.TabIndex := 0; // 初始化,选项卡显示第一个
end;

procedure TClientForm.btaddClick(Sender: TObject);
var
  NewID: string;
begin
  try
    case page1.ActivePageIndex of
      0:
        begin
          adodm.client.Last; //返到记录的最后一个
          NewID := IntToStr(adodm.client.FieldByName('住户编号').AsInteger + 1);
            //新记录的编号
          adodm.client.Append; //增加新记录
          TS_ID.Text := NewID; //把新记录的编号
        end;
      1:
        begin
          adodm.ttemp.Append;
            //当追加新记录的时候,把当前记录的编号和名称自动输入
          DBedit9.Text := adodm.client.FieldByName('住户编号').AsString;
          DBedit10.Text := adodm.client.FieldByName('住户名称').AsString;
        end;
      2:
        begin
          adodm.search1.Append;
            //当追加新记录的时候,把当前记录的编号和名称自动输入
          DBedit12.Text := adodm.client.FieldByName('住户编号').AsString;
          DBedit11.Text := adodm.client.FieldByName('住户名称').AsString;
        end;
      3:
        begin
          adodm.ClientFamily.Append;
            //当追加新记录的时候,把当前记录的编号和名称自动输入
          DBedit14.Text := adodm.client.FieldByName('住户编号').AsString;
          DBedit13.Text := adodm.client.FieldByName('住户名称').AsString;
        end;
    end;
  except
    showmessage('产生例外错误,请联系开发人员或者程序供应商');
  end;
end;

procedure TClientForm.btokClick(Sender: TObject);
begin
  try
    case page1.ActivePageIndex of
      0:
        begin
          CheckStr(TS_ID, '住户编号'); //检查不能够为空的项目
          CheckStr(TS_user, '住户名称');
          CheckStr(UserTel, '联系电话');
          CheckStr(Address, '联系电话'); //检查不能够为空的项目
          adodm.client.Post; //提交新记录
        end;
      1:
        begin
          CheckStr(DBEdit9, '住户编号'); //检查不能够为空的项目
          CheckStr(DBEdit10, '住户名称');
          CheckStr(DBEdit15, '使用状况');
          CheckStr(DBEdit1, '小区名称'); //检查不能够为空的项目
          CheckStr(DBEdit2, '楼宇名称');
          CheckStr(DBEdit3, '楼层');
          CheckStr(DBEdit4, '房屋号'); //检查不能够为空的项目
          CheckStr(DBEdit5, '单元');
          CheckStr(DBEdit6, '迁入日期');
          CheckStr(DBEdit8, '房型'); //检查不能够为空的项目
          adodm.ttemp.Post;
        end;
      2:
        begin
          CheckStr(DBEdit12, '住户编号'); //检查不能够为空的项目
          CheckStr(DBEdit11, '住户名称');
          CheckStr(DBEdit20, '收费名称');
          CheckStr(DBEdit23, '定额用量');
          CheckStr(DBEdit24, '定额内价格');
          CheckStr(DBEdit25, '超定额价格'); //检查不能够为空的项目
          adodm.search1.Post;
        end;
      3:
        begin
          CheckStr(DBEdit14, '住户编号'); //检查不能够为空的项目
          CheckStr(DBEdit13, '住户名称');
          CheckStr(DBEdit16, '姓名');
          CheckStr(DBEdit17, '性别');
          CheckStr(DBEdit18, '生日');
          CheckStr(DBEdit19, '称谓'); //检查不能够为空的项目
          adodm.ClientFamily.Post;
        end;
    end;

  except
    showmessage('产生例外错误,请联系开发人员或者程序供应商');
  end;
end;

procedure TClientForm.BtdelClick(Sender: TObject);
begin
  if MessageDlg('您确定要删除录入的数据吗?', mtConfirmation, [mbYes, mbNo], 0)
    = mrYes then
  begin
    try
      case page1.ActivePageIndex of
        0: adodm.client.Delete; //删除当前记录
        1: adodm.Ttemp.Delete;
        2: adodm.search1.Delete;
        3: adodm.ClientFamily.Delete;
      end;
    except
      showmessage('产生例外错误,请联系开发人员或者程序供应商');
    end;
  end;
end;

procedure TClientForm.btno1Click(Sender: TObject);
begin
  try
    case page1.ActivePageIndex of
      0: adodm.client.Cancel; //取消加入新记录
      1: adodm.ttemp.Cancel;
      2: adodm.search1.Cancel;
      3: adodm.ClientFamily.Cancel;
    end;
  except
    showmessage('产生例外错误,请联系开发人员或者程序供应商');
  end;
  close;
end;

procedure TClientForm.Page1Change(Sender: TObject);
begin
  case page1.TabIndex of
    1:
      begin
        with adodm.ttemp do
        begin
          Close;
          CommandText := '';
          CommandText :=
            'SELECT * FROM ClientRoomTable where 住户编号=:住户编号';
          Parameters.ParamByName('住户编号').Value := TS_ID.Text;
          open;
        end; // 设置主要控件数据源
        DBGrid2.DataSource := adodm.dstemp;
        DBEdit9.DataSource := adodm.dstemp;
        DBEdit9.DataField := '住户编号';
        DBEdit10.DataSource := adodm.dstemp;
        DBEdit10.DataField := '住户名称';
      end;
    2:
      begin
        with adodm.search1 do
        begin
          Close;
          CommandText := '';
          CommandText := 'SELECT * FROM ChargeTable where 住户编号=:住户编号';
          Parameters.ParamByName('住户编号').Value := TS_ID.Text;
          open;
        end; // 设置主要控件数据源
        DBGrid4.DataSource := adodm.dssearch1;
        DBEdit12.DataSource := adodm.dssearch1;
        DBEdit12.DataField := '住户编号';
        DBEdit11.DataSource := adodm.dssearch1;
        DBEdit11.DataField := '住户名称';
      end;
    3:
      begin
        with adodm.ClientFamily do
        begin
          Close;
          CommandText := '';
          CommandText :=
            'SELECT * FROM ClientFamilyTable where 住户编号=:住户编号';
          Parameters.ParamByName('住户编号').Value := TS_ID.Text;
          open;
        end; // 设置主要控件数据源
        DBGrid3.DataSource := adodm.dsClientFamily;
        DBEdit14.DataSource := adodm.dsClientFamily;
        DBEdit14.DataField := '住户编号';
        DBEdit13.DataSource := adodm.dsClientFamily;
        DBEdit13.DataField := '住户名称';
      end;
  end;
end;

procedure TClientForm.SpeedButton1Click(Sender: TObject);
begin
  Application.CreateForm(TSelectTextForm, SelectTextForm);
  SelectTextForm.Caption := '房屋使用方式选择'; //显示房屋使用方式窗体
  with SelectTextForm.ComboBox1 do
  begin
    clear; // 添加房屋使用方式数据
    items.Add('出租');
    items.Add('购买未住');
    items.Add('购买外租');
    items.Add('购买自用');
    items.Add('已转售');
    items.Add('已退租');
    itemindex := 0;
  end;
  if SelectTextForm.ShowModal = mrOk then
  begin
    DBedit15.Text := ''; //情况控件中原有的数据
    DBedit15.Text := SelectTextForm.combobox1.Text;
  end; //得到房屋使用方式的文本
  SelectTextForm.Free;
end;

procedure TClientForm.SpeedButton2Click(Sender: TObject);
begin
  Application.CreateForm(TdateForm, dateForm);
  if (dateForm.ShowModal = mrOk) then
  begin // 显示日期选择窗体
    DBedit6.Text := '';
    DBedit6.Text := DateTimeToStr(dateForm.date1.date);
  end; //得到当前选择日期
  dateForm.Free;
end;

procedure TClientForm.SpeedButton3Click(Sender: TObject);
begin
  Application.CreateForm(TdateForm, dateForm);
  if (dateForm.ShowModal = mrOk) then
  begin // 显示日期选择窗体
    DBedit7.Text := '';
    DBedit7.Text := DateTimeToStr(dateForm.date1.date);
  end; //得到当前选择日期
  dateForm.Free;
end;

procedure TClientForm.SpeedButton4Click(Sender: TObject);
begin
  Application.CreateForm(TdateForm, dateForm);
  if (dateForm.ShowModal = mrOk) then
  begin // 显示日期选择窗体
    DBedit18.Text := '';
    DBedit18.Text := DateTimeToStr(dateForm.date1.date);
  end; //得到当前选择日期
  dateForm.Free;
end;

procedure TClientForm.SpeedButton6Click(Sender: TObject);
begin
  Application.CreateForm(TSelectDataForm, SelectDataForm);
  SelectDataForm.Caption := '请选择房型';
  with SelectDataForm.DBLookupComboBox1 do
  begin
    with adodm.search3 do
    begin //从数据库中得到所有的房型数据
      Close;
      CommandText := 'SELECT 房型 FROM ModelTable';
      open;
    end;
    ListSource := adodm.dssearch3;
    KeyField := '房型';
    if adodm.search3.RecordCount > 0 then
      ListFieldIndex := 0;
    if adodm.search3.RecordCount = 0 then
      //如果房型资料的数据库为空的话,提示出错信息
      ShowMessage('不能够新增记录,没有房型资料');
  end;
  if SelectDataForm.ShowModal = mrOk then
    DBEdit8.Text := SelectDataForm.DBLookupComboBox1.Text;
  SelectDataForm.Free;
end;

procedure TClientForm.SpeedButton5Click(Sender: TObject);
var
  ChargeNum, // 收费金额
  ChargeUnit, //  收费单位
  ChargePeriod: //  收费周期
  string;
begin
  Application.CreateForm(TSelectDataForm, SelectDataForm);
  SelectDataForm.Caption := '请选择收费名称';
  with SelectDataForm.DBLookupComboBox1 do
  begin
    with adodm.search2 do
    begin //从数据库中得到所有的收费名称数据
      Close;
      CommandText := 'SELECT 收费名称 FROM ChargeItemTable';
      open;
    end;
    ListSource := adodm.dssearch2;
    KeyField := '收费名称';
    if adodm.search2.RecordCount > 0 then
      ListFieldIndex := 0;
    if adodm.search2.RecordCount = 0 then
      ShowMessage('不能够新增记录,没有用户收费项目');
  end;

  if SelectDataForm.ShowModal = mrOk then
    DBEdit20.Text := SelectDataForm.DBLookupComboBox1.Text;
  SelectDataForm.Free;
  with adodm.search2 do
  begin //从数据库中得到所有的收费名称数据
    Close;
    CommandText :=
      'SELECT 收费金额,收费单位,收费周期 FROM ChargeItemTable where 收费名称=:收费名称';
    Parameters.ParamByName('收费名称').Value := DBedit20.Text;
    open;
  end;
  DBEdit21.Text := adodm.search2.FieldByName('收费金额').AsString;
  DBEdit22.Text := adodm.search2.FieldByName('收费单位').AsString;
  DBEdit26.Text := adodm.search2.FieldByName('收费周期').AsString;
end;

end.

⌨️ 快捷键说明

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