【delphi开源代码栏目提醒】:网学会员为广大网友收集整理了,MC_DLOptions.pas,希望对大家有所帮助!
unit MC_DLOptions;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, Db, StdCtrls, Buttons, Grids, DBGrids, DBCtrls;
type
TDLOptions = 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;
procedure DBGrid1DblClick(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DLOptions: TDLOptions;
implementation
uses MC_SFYL, MC_FWXXDJ;
{$R *.DFM}
procedure TDLOptions.DBGrid1DblClick(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 TDLOptions.ListBox1DblClick(Sender: TObject);
begin
if ListBox1.Items.Count<>0 then
begin
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
end;
procedure TDLOptions.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TDLOptions.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DLOptions.Release;
DLOptions:=Nil;
end;
procedure TDLOptions.BitBtn1Click(Sender: TObject);
var ZD: String;
ZDZ: Array of String;
a,b,c:integer;
S,d:Real;
Fi:STring;
begin
if ListBox1.Items.Count=0 then
begin
ShowMessage('请选择要浏览的大楼.');
end
else
begin
SetLength(ZDZ,ListBox1.Items.Count);//分配动态变量,记得释放掉
ZD:='大楼编号';
//-----------------------------------------------------------------
SFYL.Query1.Close;
SFYL.Query1.SQL.Clear;
SFYL.Query1.SQL.Add('Select * From 水费 Where');
SFYL.Query1.SQL.Add('水表编号 in (Select 房间编号 From 房屋信息表 Where 大楼编号=:A');
SFYL.Query1.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SFYL.Query1.SQL.Add('or 大楼编号='''+ZDZ[a]+'''');
//SFYL.Query1.ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SFYL.Query1.SQL.Add(')');
SFYL.Query1.Open;
//-----------------------------------------------------------------
SFYL.Query2.Close;
SFYL.Query2.SQL.Clear;
SFYL.Query2.SQL.Add('Select * From 电费 Where');
SFYL.Query2.SQL.Add('电表编号 in (Select 房间编号 From 房屋信息表 Where 大楼编号=:A');
SFYL.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SFYL.Query2.SQL.Add('or 大楼编号='''+ZDZ[a]+'''');
//SFYL.Query2.ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SFYL.Query2.SQL.Add(')');
SFYL.Query2.Open;
//-----------------------------------------------------------------
SFYL.Query3.Close;
SFYL.Query3.SQL.Clear;
SFYL.Query3.SQL.Add('Select * From 煤气费 Where');
SFYL.Query3.SQL.Add('煤气表编号 in (Select 房间编号 From 房屋信息表 Where 大楼编号=:A');
SFYL.Query3.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SFYL.Query3.SQL.Add('or 大楼编号='''+ZDZ[a]+'''');
//SFYL.Query3.ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SFYL.Query3.SQL.Add(')');
SFYL.Query3.Open;
//-----------------------------------------------------------------
//--------------
SFYL.StringGrid2.ColCount:=2;
SFYL.StringGrid2.RowCount:=2;
SFYL.StringGrid2.FixedRows:=1;
SFYL.StringGrid2.FixedCols:=1;
with SFYL.Que