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

📄 realtyf32.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
字号:
unit RealtyF32;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
  StrUtils, ExtDlgs, ComCtrls, math, Menus, ImgList, ToolWin;

type
    Tf_RealtyF32 = class(TForm)
    L1: TLabel;
    L2: TLabel;
    L4: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    ImageList1: TImageList;
    Label5: TLabel;
    Label6: TLabel;
    Label13: TLabel;
    Edit9: TEdit;
    Label14: TLabel;
    Edit11: TEdit;
    Label18: TLabel;
    Edit10: TEdit;
    VVV: TButton;
    edit8: TDateTimePicker;
    Button3: TButton;
    edit7: TDateTimePicker;
    GroupBox1: TGroupBox;
    ListView1: TListView;
    edit5: TComboBox;
    PopupMenu1: TPopupMenu;
    N4: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    Button7: TButton;
    Button5: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);

    procedure Button1Click(Sender: TObject);
    procedure VVVClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure getId;
    procedure FormCreate(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure getBH;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N4Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
       bOK:bool;
       T:string;
       bNew:bool;
  end;

var
  f_RealtyF32: Tf_RealtyF32;
  sNum:string;

implementation

uses data, main,realtyC21,RealtyF31,Car4s931,realtyC62,RealtyF32A,realtyL23;

{$R *.dfm}

//新增  1
procedure Tf_RealtyF32.ToolButton5Click(Sender: TObject);
begin
    
end;

//查看  2
procedure Tf_RealtyF32.ToolButton4Click(Sender: TObject);
begin
    //
end;





//公共函数**************************************************

//初始化 一
procedure Tf_RealtyF32.FormCreate(Sender: TObject);
var
    i:integer;
    s:string;
    query:TADOQuery;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    query.sql.add('select * from 辅助资料 where 类别='''+'证件类别'+'''');
    query.Open;
    while not query.Eof do
    begin
        edit5.Items.Add(query.fieldbyname('名称').Value);
        query.Next;
    end;
    query.Close;
    query.Free;

    edit7.date:=date;
    edit8.date:=date;
    getId;
    getBH; 
end;

//Tab
procedure Tf_RealtyF32.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
        Begin
            key:=0;
            perform(WM_NEXTDLGCTL,0,0);
        end
    else if key=VK_ESCAPE then close;
end;

//  自动计算单号 三
procedure Tf_RealtyF32.getid;
var
    i:integer;
    query:TADOQuery;
    s:string;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    s := 'select top 1 * from 出入证 ORDER BY 单号 DESC';
    Query.SQL.Add(s);
    Query.Open ;
    if query.recordcount > 0 then
    begin
        s:= Query.Fieldbyname('单号').AsString;
        s:= Copy(S, 1, 7);
        i:= strtoint(s)+1;                  
        if i<10 then edit1.text := '000000'+inttostr(i)
        else if (i > 9) and (i<100) then edit1.text := '00000'+inttostr(i)
        else if (i > 99) and (i<1000) then edit1.text := '0000'+inttostr(i)
        else if (i > 999) and (i<10000) then edit1.text := '000'+inttostr(i)
        else if (i > 9999) and (i<100000) then edit1.text := '00'+inttostr(i)
        else if (i > 99999) and (i<1000000) then edit1.text := '0'+inttostr(i)
        else if i>999999 then edit1.text := inttostr(i);
    end
    else  edit1.text := '0000001';
    query.Close;
    query.free;
end;

///////////自动新增出入证编号
procedure Tf_RealtyF32.getBH;
var
    i:integer;
    query:TADOQuery;
    s:string;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    s := 'select top 1 * from 出入证 ORDER BY 出入证编号 DESC';
    Query.SQL.Add(s);
    Query.Open ;
    if query.recordcount > 0 then
    begin
        s:= Query.Fieldbyname('出入证编号').AsString;
        s:= Copy(S, 1, 7);
        i:= strtoint(s)+1;
        if i<10 then edit2.text := '000000'+inttostr(i)
        else if (i > 9) and (i<100) then edit2.text := '00000'+inttostr(i)
        else if (i > 99) and (i<1000) then edit2.text := '0000'+inttostr(i)
        else if (i > 999) and (i<10000) then edit2.text := '000'+inttostr(i)
        else if (i > 9999) and (i<100000) then edit2.text := '00'+inttostr(i)
        else if (i > 99999) and (i<1000000) then edit2.text := '0'+inttostr(i)
        else if i>999999 then edit2.text := inttostr(i);
    end
    else  edit2.text := '0000001';
    query.Close;
    query.free;
end;

//取设备类别---------------
procedure Tf_RealtyF32.Button1Click(Sender: TObject);
begin

end;

//取经办人---------------
procedure Tf_RealtyF32.VVVClick(Sender: TObject);
begin
    f_realtyL23:=Tf_realtyL23.Create(self);
    f_realtyL23.Button2.Visible:=true;
    f_realtyL23.ShowModal;

    if  f_realtyL23.bOk=true then
    begin
        edit9.Text:=f_realtyL23.sName;
    end;
end;

//取组织机构---------------
procedure Tf_RealtyF32.Button3Click(Sender: TObject);
begin
    f_realtyC62:=Tf_realtyC62.Create(self);
    f_realtyC62.ToolButton4.Visible:=true;
    f_realtyC62.ShowModal;

    if  f_realtyC62.bOk=true then
    begin
        edit10.Text:=f_realtyC62.sNum;
    end;
end;

procedure Tf_RealtyF32.N11Click(Sender: TObject);
begin
    ToolButton5Click(Sender);
end;

procedure Tf_RealtyF32.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action := caFree;
end;

procedure Tf_RealtyF32.N4Click(Sender: TObject);
begin
     bNew:=true;
    f_RealtyF32A:=Tf_RealtyF32A.Create(self);
    f_RealtyF32A.ShowModal;
end;

procedure Tf_RealtyF32.N8Click(Sender: TObject);
begin
    if listview1.SelCount=0 then exit;

    bNew:=false;
    f_RealtyF32A:=Tf_RealtyF32A.Create(self);
    f_RealtyF32A.ShowModal;
end;

procedure Tf_RealtyF32.N10Click(Sender: TObject);
begin
    if listview1.SelCount=0 then exit;

    if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=0) then exit;

    listview1.selected.delete;

    if listview1.Items.Count>0 then listview1.Items.Item[0].Selected:=true;
end;

procedure Tf_RealtyF32.ListView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
    if button=mbright then
    popupmenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);
end;

procedure Tf_RealtyF32.Button7Click(Sender: TObject);
var
  i,j:integer;
  s,ss,rr:string;
  Query:TADOQuery;
  d,d1,d2:double;
begin
    // 1 关键字段不能为空
    if Edit2.Text='' then
    begin
        showmessage('请输入编号。');
        Edit2.SetFocus;
        exit;
    end;

    if Edit3.Text='' then
    begin
        showmessage('请输入姓名。');
        Edit3.SetFocus;
        exit;
    end;

    if Edit5.Text='' then
    begin
        showmessage('请选择证件类别。');
        Edit5.SetFocus;
        exit;
    end;

    if Edit6.Text='' then
    begin
        showmessage('请输入证件号码。');
        Edit6.SetFocus;
        exit;
    end;

    if Edit9.Text='' then
    begin
        showmessage('请选择经办人。');
        Edit9.SetFocus;
        exit;
    end;

    if Edit10.Text='' then
    begin
        showmessage('请填写保证金。');
        Edit10.SetFocus;
        exit;
    end;


    edit10.Text:=mainform.StdDou2(edit10.Text);

    //  2 检查所有字段的数据完整性
    If Edit11.Text = '' Then Edit11.Text := '-';
    If Edit4.Text = '' Then Edit4.Text := '-';


    //  3 定义数据集
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    //  一关键字段是否重复
    query.SQL.Clear;
    query.SQL.Add('select * from 出入证 where 单号='''+edit1.Text+'''');
    query.Open;
    if query.RecordCount>0 then
    begin
        showmessage('单号重复');
        edit1.SetFocus;
        query.Close; //******************************必须
        query.Free;  //******************************必须
        exit;
    end;

    query.SQL.Clear;
    query.SQL.Add('select * from 出入证 where 出入证编号='''+edit2.Text+'''');
    query.Open;
    if query.RecordCount>0 then
    begin
        showmessage('编号重复');
        edit2.SetFocus;
        query.Close; //******************************必须
        query.Free;  //******************************必须
        exit;
    end;


    //保存主表
    s := 'insert into 出入证(单号,出入证编号,姓名,所属单位,证件类别,证件号码,有效开始时间,';
    s:=s+'有效结束时间,经办人,办证保证金,备注,审核) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12)';

    query.sql.Clear ;
    query.sql.add(s);
    query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
    query.Parameters.ParamByName('s2').Value:=trim(Edit2.Text);
    query.Parameters.ParamByName('s3').Value:=trim(Edit3.Text);
    query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
    query.Parameters.ParamByName('s5').Value:=trim(Edit5.Text);
    query.Parameters.ParamByName('s6').Value:=trim(Edit6.Text);
    query.Parameters.ParamByName('s7').Value:=datetostr(Edit7.date);
    query.Parameters.ParamByName('s8').Value:=datetostr(Edit8.date);
    query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
    query.Parameters.ParamByName('s10').Value:=strtofloat(Edit10.Text);
    query.Parameters.ParamByName('s11').Value:=trim(Edit11.text);
    query.Parameters.ParamByName('s12').Value:='N';

    DataModuleADO.ADOConnection1.BeginTrans;
    query.execsql;
    DataModuleADO.ADOConnection1.CommitTrans;


    //保存从表
    for i:=0 to listview1.Items.Count-1 do
    begin
        s:='insert into 出入证收费 (收费项目,收费金额,收费日期,单号) values(:s1,:s2,:s3,:s4)';
        query.SQL.Clear;
        query.SQL.Add(s);
        query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
        query.Parameters.ParamByName('s2').Value:=strtofloat(listview1.Items.Item[i].SubItems[0]);
        query.Parameters.ParamByName('s3').Value:=listview1.Items.Item[i].SubItems[1];
        query.Parameters.ParamByName('s4').Value:=trim(edit1.Text);

        DataModuleADO.ADOConnection1.BeginTrans;
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;
    end;
    query.Close ;
    query.Free ;
    showmessage('保存成功');

    getId;
    getBH;
    edit3.Text:='';
    edit4.Text:='';
    edit5.ItemIndex:=edit5.Items.IndexOf('');
    edit6.Text:='';
    edit7.date:=date;
    edit8.date:=date;
    edit9.Text:='';
    edit10.Text:='0';
    edit11.text:='';
    listview1.Items.Clear;

    Edit1.SetFocus;
end;

procedure Tf_RealtyF32.Button5Click(Sender: TObject);
begin
    close;
end;

end.


⌨️ 快捷键说明

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