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

📄 txfpbdy.pas

📁 北京铁路局住房分配系统,数据库为MSSql2000,依次执行crebas4.sql
💻 PAS
字号:
unit Txfpbdy;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, CELLLib_TLB, ExtCtrls;

type
  TFormTXFPBDY = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Cell1: TCell;
    Label1: TLabel;
    Button1: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Panel3: TPanel;
    Button2: TButton;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox2: TComboBox;
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
    RC:smallint; //纪录行数
    MC,MR: smallint;
  public
    { Public declarations }
  end;

var
  FormTXFPBDY: TFormTXFPBDY;

implementation

uses datamodl,PublicFun;

{$R *.dfm}

procedure TFormTXFPBDY.Button6Click(Sender: TObject);
begin
  close;
end;

procedure TFormTXFPBDY.Button1Click(Sender: TObject);
var
  opendlg:TOpendialog;
  Sfilename,str:string;
  i,j:smallint;
begin
  if trim(combobox2.Text) =''  then
    begin
      showmessage('楼宇类型不能为空,请选择!');
      exit;
    end;
  opendlg:=TOpendialog.create(Application);
  opendlg.DefaultExt:='CLL';
  opendlg.filter:='报表格式文件(*.CLL)|*.CLL';
  if opendlg.execute then
  begin
     Sfilename :=opendlg.filename;
     if copy(trim(combobox2.Text),1,2)='01' then
       begin
         MC:=12;
         MR:=36;
         str:= '高层住宅楼分配方案图(塔式)';
       end
     else
       begin
         MC:=15;
         MR:=16;
         str:= '高层住宅楼分配方案图(板式)';
       end;

     if not comp(sfilename,str) then
       begin
         showmessage('请打开指定名称结构文件!');
         exit;
       end;
     if cell1.DoOpenFile(Sfilename)>0 then
     begin
       cell1.DoRedrawAll ;
       for i:=0 to MC do
         for j:=0 to MR+6 do
           cell1.DoSetCellReadOnly(i,j,true);
     end;
     button2.Enabled:=true;
     button3.Enabled:=true;
     button4.Enabled:=true;
     button5.Enabled:=true;
  end;
  opendlg.free;
end;

procedure TFormTXFPBDY.FormCreate(Sender: TObject);
begin
   cell1.DoLogin('北京金天鹏软件科技有限公司',363,'00FD18FF080193035CFE09FF9908');
   RC:=0;
   cell1.EnablePopMenu:=false;
   button2.Enabled:=false;
   button3.Enabled:=false;
   button4.Enabled:=false;
   button5.Enabled:=false;
end;

procedure TFormTXFPBDY.Button2Click(Sender: TObject);
var
  c,r,CC,Co,RR:smallint;  
  i:smallint;
  str1,ly,lymc:string;
  zfbh,dwbh,dwmc,cxmc,hxmc:widestring;
  hxmc1,cxmc1:string;
begin
  c:=0;
  CC:=0;
  Co:=0;
  RR:=0;
  str1:= trim(combobox1.Text);
  if str1 <>'' then
    begin
      ly:= copy(str1,1,5);
      lymc:= copy(str1,9,length(str1)-8);
      //cell1.DoSetCellString(0,0,'小区'+ytmc+'住房分配表');
    end
  else
    begin
      showmessage('分配楼宇不能为空,请选择!');
      exit;
    end;
  if copy(trim(combobox2.Text),1,2)='01' then
    begin
      MC:=12;
      MR:=36;
    end
  else
    begin
      MC:=15;
      MR:=16;
    end;
  for c:=1 to Mc do
    for r:=3 to MR+6-1 do
      begin
        cell1.DoSetCellReadOnly(c,r,false);
        cell1.DoClearCell(c,r,1);
        cell1.DoSetCellColor(c,r,rgb(0,0,0),rgb(255,255,255));
        //cell1.DoSetCellAlignment(c,r,010010);
        cell1.DoSetCellReadOnly(c,r,true);
      end;
  cell1.DoRedrawAll;
  cell1.DoSetCellString(1,1,lymc);

  for i:=length(DateToStr(Date)) downto length(DateToStr(Date))-2 do
    if copy(DateToStr(Date),i,1)='-' then c:=i;
  if copy(trim(combobox2.Text),1,2)='01' then
    begin
      cell1.DoSetCellString(9,1,copy(DateToStr(Date),1,4)+' 年');
      cell1.DoSetCellString(10,1,copy(DateToStr(Date),6,c-6)+' 月');
      cell1.DoSetCellString(11,1,copy(DateToStr(Date),c+1,length(DateToStr(Date))-c)+' 日');
    end
  else
    begin
      cell1.DoSetCellString(12,1,copy(DateToStr(Date),1,4)+' 年');
      cell1.DoSetCellString(13,1,copy(DateToStr(Date),6,c-6)+' 月');
      cell1.DoSetCellString(14,1,copy(DateToStr(Date),c+1,length(DateToStr(Date))-c)+' 日');
    end;
 // j:=0;
  if trim(combobox1.Text)<>'' then
    with datamodule1 do
    begin
      if ADOQry.Active= true then ADOQry.close;
      ADOQry.sql.Clear;
      ADOQry.sql.Add('select r=substring(zfbh,7,2),dyh=substring(zfbh,6,1),c=substring(zfbh,9,2),zfbh=substring(zfbh,6,5),a.dwbh,dwmc= b.dwmc,b.Col,hxbh,hxmc=c.mc,cxmc=d.mc '+#10+
                     'from zfxxb a,dwxxb b,fwhxb c,fwcxb d,ytfpb e '+#10+
                     'where a.dwbh= b.dwbh and a.hxbh=c.bh and a.cxbh=d.bh and lybh=:lybh '+#10+
                     'union all '+#10+
                     'select r=substring(zfbh,7,2),dyh=substring(zfbh,6,1),c=substring(zfbh,9,2),zfbh=substring(zfbh,6,5),dwbh=isnull(a.dwbh,''''),dwmc=(case when a.dwbh is null then '''' end),Col=(case when a.dwbh is null then '''' end),a.hxbh,hxmc=c.mc, cxmc=d.mc '+#10+
                     'from zfxxb a,fwhxb c, fwcxb d'+#10+
                     'where a.hxbh=c.bh and a.cxbh=d.bh and a.dwbh is null and lybh=:ly '+#10+
                     'order by r,dyh,c');
      ADOQry.Parameters.ParamByName('lybh').Value:=copy(combobox1.Text,1,5);
      ADOQry.Parameters.ParamByName('ly').Value:=copy(combobox1.Text,1,5);
      ADOQry.open;
      ADOQry.First;
      while not AdoQry.Eof do
      begin
        if RR <> strtoint(AdoQry.Fields.fieldbyname('r').asstring) then
        begin
          RR := strtoint(AdoQry.Fields.fieldbyname('r').asstring);
          CC:=0;
          Co:=0;
          c :=0;
        end;
        if CC <> AdoQry.Fields.fieldbyname('dyh').AsInteger then
        begin
          CC:= AdoQry.Fields.fieldbyname('dyh').AsInteger;
          Co:= Co+c;
        end;
         r:=strtoint(AdoQry.Fields.fieldbyname('r').asstring)+5;
         c:=strtoint(AdoQry.Fields.fieldbyname('c').AsString);
         zfbh:=AdoQry.Fields.fieldbyname('zfbh').AsString;
         dwbh:=AdoQry.Fields.fieldbyname('dwbh').AsString;
         dwmc:=AdoQry.Fields.fieldbyname('dwmc').AsString;
         hxmc:=AdoQry.Fields.fieldbyname('hxmc').AsString;
         cxmc:=AdoQry.Fields.fieldbyname('cxmc').AsString;
        // if j < 15 then
         //  begin
             HXTest(ly,AdoQry.Fields.fieldbyname('c').AsString,hxmc1);
             CXTest(ly,AdoQry.Fields.fieldbyname('c').AsString,cxmc1);
             cell1.DoSetCellString(c,4,trim(hxmc1));
             cell1.DoSetCellString(c,3,trim(cxmc1));
         //    j:=j+1;
         //  end;
         //if cxmc <>'' then cell1.DoSetCellString(c,3,trim(cxmc));
         //if hxmc <>'' then cell1.DoSetCellString(c,4,trim(hxmc));
         cell1.DoSetCellString(Co+c,r,'a:'+zfbh+#13+'b:'+dwbh+dwmc+#13+'c:'+hxmc);
         cell1.DoSetCellTextStyle(c,r,1);
         cell1.DoSetCellFont(Co+c,r,7,0,'楷体');
         //cell1.DoSetColWidth(c,100);
         //cell1.DoSetRowHeight(r,40);
         adoqry.Next;
      end;
      ADOQry.Close;
    end;
    cell1.DoRedrawAll;
end;

procedure TFormTXFPBDY.Button3Click(Sender: TObject);
begin
   cell1.DoPrintPageSetup;
end;

procedure TFormTXFPBDY.Button4Click(Sender: TObject);
begin
  cell1.DoPrintPreview(true);
end;

procedure TFormTXFPBDY.Button5Click(Sender: TObject);
begin
  cell1.DoPrint(false);
end;

procedure TFormTXFPBDY.ComboBox2Change(Sender: TObject);
var
  bh:string;
begin
  if trim(combobox2.Text) <>'' then
    begin
      button2.Enabled:=false;
      bh:= copy(trim(combobox2.Text),1,2);
      combobox1.Items.Clear;
      with datamodule1 do
      begin
        if ADOQry.Active= true then ADOQry.close;
        ADOQry.sql.Clear;
        ADOQry.sql.Add('select lybh,mc from lyxxb where lxbh=:bh');
        ADOQry.Parameters.ParamByName('bh').Value:= bh ;
        ADOQry.open;
        ADOQry.first;
        while not ADOQry.Eof  do
        begin
          combobox1.Items.Add(ADOQry.fieldbyname('lybh').AsString+' | '
                             +ADOQry.fieldbyname('mc').AsString);
          ADOQry.Next;
        end;
        ADOQry.Close;
      end;
    end
  else
    exit;

end;

end.

⌨️ 快捷键说明

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