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

📄 mc_xzclass.pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 PAS
字号:
unit MC_XZCLass;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBTables, Db, StdCtrls, Buttons, Grids, DBGrids, DBCtrls, ExtCtrls,
  TeeProcs, TeEngine, Chart;

type
  TXZClass = class(TForm)
    GroupBox1: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Table2: TTable;
    Table2BDEDesigner2: TStringField;
    Table2BDEDesigner5: TIntegerField;
    Table2BDEDesigner6: TStringField;
    Table2BDEDesigner7: TStringField;
    Table2BDEDesigner: TStringField;
    Query1: TQuery;
    Query1BDEDesigner: TStringField;
    Query1BDEDesigner2: TStringField;
    Query2: TQuery;
    Query3: TQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  XZClass: TXZClass;

implementation

uses MC_SFQKFX;

{$R *.DFM}

procedure TXZClass.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     XZCLAss.Release;
     XZClass:=Nil;
end;

procedure TXZClass.BitBtn3Click(Sender: TObject);
begin
     Close;
end;

procedure TXZClass.BitBtn2Click(Sender: TObject);
var a,b:integer;
begin
     For a:=0 to ListBox1.Items.Count-1 do
     begin
          if ListBox1.Items.Strings[a]=Table2.FieldByName('大楼名称').AsString then
             begin
                  b:=0;
                  Break;
             end else b:=1;
     end;
     if b=0 then
        begin
             ShowMessage('此大楼以被选种!!');
        end
     else
        begin
             ListBox1.Items.Add(Table2.FieldByName('大楼名称').AsString);
        end;
end;

procedure TXZClass.BitBtn4Click(Sender: TObject);
begin
     if ListBox1.Items.Count<>0 then
        begin
             ListBox1.Items.Delete(ListBox1.ItemIndex);
        end;
end;

procedure TXZClass.BitBtn1Click(Sender: TObject);
var ZD: String;
    ZDZ: Array of String;//设立动态数组
    a:integer;
begin
     if ListBox1.Items.Count=0 then
        begin
             ShowMessage('请选择要浏览的大楼.');
        end
     else
        begin
             SetLength(ZDZ,ListBox1.Items.Count);//分配动态变量,记得释放掉
             SFQKFX.Series1.Clear;//清楚图表
             SFQKFX.Series1.RefreshSeries;
             if SFQKFX.ComboBox1.ItemIndex=0 then
                begin
                     Query2.Close;
                     Query2.SQL.Add('Select Sum(实收金额),SUM(应收金额) From 水费 ');
                     Query2.SQL.Add('Where 水表编号 in (Select 房间编号 From 房屋信息表');
                     Query2.SQL.Add('Where 大楼名=:A');
                     Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];
                          Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                     end;
                     Query2.SQL.Add(')');
                     Query2.Open;
                     SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'水费实收金额',clteecolor);
                     SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'水费应收金额',clTeeColor);
                End;
             if SFQKFX.ComboBox1.ItemIndex=1 then
                begin
                     Query2.Close;
                     Query2.SQL.Add('Select Sum(实收金额),SUM(应收金额) From 电费 ');
                     Query2.SQL.Add('Where 电表编号 in (Select 房间编号 From 房屋信息表');
                     Query2.SQL.Add('Where 大楼名=:A');
                     Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];
                          Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                     end;
                     Query2.SQL.Add(')');
                     Query2.Open;
                     SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'电费实收金额',clteecolor);
                     SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'电费应收金额',clTeeColor);
                End;
             if SFQKFX.ComboBox1.ItemIndex=2 then
                begin
                     Query2.Close;
                     Query2.SQL.Add('Select Sum(实收金额),SUM(应收金额) From 煤气费 ');
                     Query2.SQL.Add('Where 煤气表编号 in (Select 房间编号 From 房屋信息表');
                     Query2.SQL.Add('Where 大楼名=:A');
                     Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];
                          Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                     end;
                     Query2.SQL.Add(')');
                     Query2.Open;
                     SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'煤气费实收金额',clteecolor);
                     SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'煤气费应收金额',clTeeColor);
                End;
             if SFQKFX.ComboBox1.ItemIndex=3 then
             begin
                  Query2.Close;
                  Query2.SQL.Clear;
                  Query2.SQL.Add('Select SUM(应收金额),Sum(实收金额) From 采暖费');
                  Query2.SQL.Add('Where 采暖费编号 in (Select 房间编号 From 房屋信息表');
                  Query2.SQL.Add('Where 大楼名=:A');
                  Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                  For a:=1 to ListBox1.Items.Count-1 do
                      begin
                           ZDZ[a]:=ListBox1.Items.Strings[a];
                           Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                      end;
                  Query2.SQL.Add(')');
                  Query2.Open;
                  SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'采暖应收金额',clTeeColor);
                  SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'采暖实收金额',clTeeColor);
             end;
             if SFQKFX.ComboBox1.ItemIndex=4 then
             begin
                  Query3.Close;
                  Query3.SQL.Clear;
                  Query3.SQL.Add('Select 科目名 From 其它科目');
                  Query3.Open;
                  While Not Query3.Eof do
                  begin
                       Query2.close;
                       Query2.SQL.Clear;
                       Query2.SQL.Add('Select Sum(应收金额),Sum(实收金额) From 其它费用表');
                       Query2.SQL.Add('Where 费用科目=:B and 收费编号 in (Select 房间编号 From 房屋信息表');
                       Query2.SQL.Add('Where 大楼名=:A');
                       Query2.ParamByname('A').AsString:=ListBox1.Items.Strings[0];
                       Query2.ParamByName('B').AsString:=Query3.FieldByName('科目名').AsString;
                       For a:=1 to Listbox1.Items.Count-1 do
                       begin
                            ZDZ[a]:=ListBox1.Items.Strings[a];
                            Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                       end;
                       Query2.SQL.Add(')');
                       Query2.Open;
                       SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'应收'+Query3.FieldByName('科目名').AsString,clTeeColor);
                       SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'实收'+Query3.FieldByName('科目名').AsString,clTeeColor);
                       Query3.Next;
                  end;
             end;
             if SFQKFX.ComboBox1.ItemIndex=5 then
             begin
                  Query3.Close;
                  Query3.SQL.Clear;
                  Query3.SQL.Add('Select 科目名 From 费用科目');
                  Query3.Open;
                  While Not Query3.Eof do
                  begin
                       Query2.close;
                       Query2.SQL.Clear;
                       Query2.SQL.Add('Select Sum(应收金额),Sum(实收金额) From 常用费用');
                       Query2.SQL.Add('Where 费用科目=:B and 收费编号 in (Select 房间编号 From 房屋信息表');
                       Query2.SQL.Add('Where 大楼名=:A');
                       Query2.ParamByname('A').AsString:=ListBox1.Items.Strings[0];
                       Query2.ParamByName('B').AsString:=Query3.FieldByName('科目名').AsString;
                       For a:=1 to Listbox1.Items.Count-1 do
                       begin
                            ZDZ[a]:=ListBox1.Items.Strings[a];
                            Query2.SQL.Add('or 大楼名='''+ZDZ[a]+'''');
                       end;
                       Query2.SQL.Add(')');
                       Query2.Open;
                       SFQKFX.Series1.AddPie(Query2.Fields[0].AsFloat,'应收'+Query3.FieldByName('科目名').AsString,clTeeColor);
                       SFQKFX.Series1.AddPie(Query2.Fields[1].AsFloat,'实收'+Query3.FieldByName('科目名').AsString,clTeeColor);
                       Query3.Next;
                  end;
             end;
             ZDZ:=Nil;
             Close;
        end;
end;

procedure TXZClass.FormShow(Sender: TObject);
begin
     DBLookupCombobox1.KeyValue:=Query1.FieldByName('小区名').asString;
end;

end.

⌨️ 快捷键说明

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