slfp.pas

来自「北京铁路局住房分配系统,数据库为MSSql2000,依次执行crebas4.sq」· PAS 代码 · 共 598 行 · 第 1/2 页

PAS
598
字号
         showmessage('一居室'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    2: begin
         showmessage('二居室'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    3: begin
         showmessage('三居室'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    4: begin
         showmessage('复式二居'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    5: begin
         showmessage('复式三居'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    6: begin
         showmessage('其它类型房屋'+cyt+'合计- '+inttostr(CompB)+' -与分局'+cyt+'数量- '+inttostr(CompA)+' -不符!');
         exit;
       end;
    else
      showmessage('各户型分用途统计数量与分局分配数量完全相符!');
  end;
  if datamodule1.ADOSP.Active= true then
    datamodule1.ADOSP.Close;
  datamodule1.ADOSP.ProcedureName:='P_TestZG1;1';
  ZGTest1(CompA,CompB,nyt,cdw);
  case nyt of
    1: showmessage(cdw+'职工分配合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    2: showmessage(cdw+'奖励分配合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    3: showmessage(cdw+'拆迁分配合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    4: showmessage(cdw+'领导分配合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    5: showmessage(cdw+'社会用房合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    6: showmessage(cdw+'公用房屋合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    7: showmessage(cdw+'机动房屋合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    8: showmessage(cdw+'其他用房合计- '+inttostr(CompB)+' -与用途分配表分配数量- '+inttostr(CompA)+' -不符!');
    else
      showmessage('各单位分用途数量与用途分配表分配数量完全相符!');
  end;

end;

procedure TFormSLFP.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  datamodule1.DataS.DataSet:=datamodule1.ADOTab;
end;

procedure TFormSLFP.FormCreate(Sender: TObject);
begin
  datamodule1.DataS.DataSet:= datamodule1.ADOQrySLFP;
  with datamodule1 do
  begin
    if ADOQrySLFP.Active= true then ADOQrySLFP.Close;
    AdoqrySLFP.SQL.Clear;
    AdoqrySLFP.SQL.Add('select a.dwbh,dwmc=b.dwmc,'+#10+
                   'ytbh,ytmc=c.mc,yjsl,ejsl,sjsl,fsej,fssj,qt,hj'+#10+
                   'from zgfpb a, dwxxb b,fwytb c '+#10+
                   'where a.dwbh =b.dwbh and a.ytbh=c.bh');

    AdoqrySLFP.Open;
  end;
  nform:=0;
  dbgrid1.Columns[1].Title.caption:='分配单位';
  dbgrid1.Columns[3].Title.caption:='房屋用途';
  dbgrid1.Columns[4].Title.caption:='一居室';
  dbgrid1.Columns[5].Title.caption:='二居室';
  dbgrid1.Columns[6].Title.caption:='三居室';
  dbgrid1.Columns[7].Title.caption:='复式二居';
  dbgrid1.Columns[8].Title.caption:='复式三居';
  dbgrid1.Columns[9].Title.caption:='其他';
  dbgrid1.Columns[10].Title.caption:='合计';
  edit1.Enabled:=false;
  edit2.Enabled:=false;
  edit3.Enabled:=false;
  edit4.Enabled:=false;
  edit5.Enabled:=false;
  edit6.Enabled:=false;
  edit7.Enabled:=false;
  with datamodule1 do
  begin
    if ADOQry.Active= true then ADOQry.close;
    ADOQry.sql.Clear;
    ADOQry.sql.Add('select dwbh,dwmc from dwxxb');
    ADOQry.open;
    ADOQry.first;
    while not ADOQry.Eof  do
    begin
      combobox1.Items.Add(ADOQry.fieldbyname('dwbh').AsString+' | '
                         +ADOQry.fieldbyname('dwmc').AsString);
      ADOQry.Next;
    end;
    ADOQry.Close;
    ADOQry.sql.Clear;
    ADOQry.sql.Add('select bh,mc from fwytb where bh<>''99''');
    ADOQry.open;
    ADOQry.first;
    while not ADOQry.Eof  do
    begin
      combobox2.Items.Add(ADOQry.fieldbyname('bh').AsString+' | '
                         +ADOQry.fieldbyname('mc').AsString);
      ADOQry.Next;
    end;
    ADOQry.Close;
  end;
  combobox1.Items.Add('');
  combobox2.Items.Add('');
  button4.Enabled:= false;
end;

procedure TFormSLFP.Edit8Exit(Sender: TObject);
begin
  button4.SetFocus;
end;

procedure TFormSLFP.Button6Click(Sender: TObject);
var
  dwbh,ytbh:string;
begin
  //datamodule1.ADOTab.Delete;
  dwbh:= datamodule1.ADOQrySLFP.FieldByName('dwbh').AsString;
  ytbh:= datamodule1.ADOQrySLFP.fieldbyname('ytbh').AsString;
  if datamodule1.ADOSP.Active= true then
    datamodule1.ADOSP.Close;
  datamodule1.ADOSP.ProcedureName:='P_ZGFPB_del;1';
  if ZGfpbDel(dwbh,ytbh)=0  then
    showmessage('纪录已成功删除!')
  else
    begin
      showmessage('删除失败!');
      exit;
    end;
  datamodule1.ADOQrySLFP.Requery();
end;

procedure TFormSLFP.Button1Click(Sender: TObject);
begin
  edit1.Enabled:=true;
  edit2.Enabled:=true;
  edit3.Enabled:=true;
  edit4.Enabled:=true;
  edit5.Enabled:=true;
  edit6.Enabled:=true;
  edit1.Text:='';
  edit2.Text:='';
  edit3.Text:='';
  edit4.Text:='';
  edit5.Text:='';
  edit6.Text:='';
  edit7.Text:='';

  Combobox1.SetFocus;
  nform:=1;
  button1.Enabled:=false;
  button2.Enabled:=false;
  button4.Enabled:=true;
end;

procedure TFormSLFP.Button7Click(Sender: TObject);
var
  nc:smallint;
  dw,yt:string;
begin
  nc:=0;
  if (trim(combobox1.Text)='') and (trim(combobox2.Text)='') then
     nc:=0
  else
  if (trim(combobox1.Text)<>'') and (trim(combobox2.Text)='') then
    begin
      nc:= 1;
      dw:= copy(trim(combobox1.Text),1,3);
    end
  else
  if (trim(combobox1.Text)='') and (trim(combobox2.Text)<>'') then
    begin
      nc:=2;
      yt:= copy(trim(combobox2.Text),1,2);
    end
  else
  if (trim(combobox1.Text)<>'') and (trim(combobox2.Text)<>'') then
    begin
      nc:=3;
      dw:= copy(trim(combobox1.Text),1,3);
      yt:= copy(trim(combobox2.Text),1,2);
    end;
  with datamodule1 do
  begin
    if ADOQrySLFP.Active= true then ADOQrySLFP.Close;
    AdoqrySLFP.SQL.Clear;
    case nc of
      0: AdoqrySLFP.SQL.Add('select a.dwbh,dwmc=b.dwmc,'+#10+
                   'ytbh,ytmc=c.mc,yjsl,ejsl,sjsl,fsej,fssj,qt,hj'+#10+
                   'from zgfpb a, dwxxb b,fwytb c '+#10+
                   'where a.dwbh =b.dwbh and a.ytbh=c.bh ');
      1: begin
           AdoqrySLFP.SQL.Add('select a.dwbh,dwmc=b.dwmc,'+#10+
                   'ytbh,ytmc=c.mc,yjsl,ejsl,sjsl,fsej,fssj,qt,hj'+#10+
                   'from zgfpb a, dwxxb b,fwytb c '+#10+
                   'where a.dwbh =b.dwbh and a.ytbh=c.bh and a.dwbh=:dwbh');
           AdoqrySLFP.Parameters.ParamByName('dwbh').Value:=dw;
         end;
      2: begin
           AdoqrySLFP.SQL.Add('select a.dwbh,dwmc=b.dwmc,'+#10+
                   'ytbh,ytmc=c.mc,yjsl,ejsl,sjsl,fsej,fssj,qt,hj'+#10+
                   'from zgfpb a, dwxxb b,fwytb c '+#10+
                   'where a.dwbh =b.dwbh and a.ytbh=c.bh and a.ytbh=:ytbh');
           AdoqrySLFP.Parameters.ParamByName('ytbh').Value:=yt;
         end;
      3: begin
           AdoqrySLFP.SQL.Add('select a.dwbh,dwmc=b.dwmc,'+#10+
                   'ytbh,ytmc=c.mc,yjsl,ejsl,sjsl,fsej,fssj,qt,hj'+#10+
                   'from zgfpb a, dwxxb b,fwytb c '+#10+
                   'where a.dwbh =b.dwbh and a.ytbh=c.bh and a.dwbh=:dwbh and a.ytbh=:ytbh');
           AdoqrySLFP.Parameters.ParamByName('dwbh').Value:=dw;
           AdoqrySLFP.Parameters.ParamByName('ytbh').Value:=yt;
         end;
    end;
    AdoqrySLFP.Open;
  end;

end;

procedure TFormSLFP.Button8Click(Sender: TObject);
var
  nc:smallint;
  dw,yt:string;
begin
  nc:=0;
  if (trim(combobox1.Text)='') and (trim(combobox2.Text)='') then
     nc:=0
  else
  if (trim(combobox1.Text)<>'') and (trim(combobox2.Text)='') then
    begin
      nc:= 1;
      dw:= copy(trim(combobox1.Text),1,3);
    end
  else
  if (trim(combobox1.Text)='') and (trim(combobox2.Text)<>'') then
    begin
      nc:=2;
      yt:= copy(trim(combobox2.Text),1,2);
    end
  else
  if (trim(combobox1.Text)<>'') and (trim(combobox2.Text)<>'') then
    begin
      nc:=3;
      dw:= copy(trim(combobox1.Text),1,3);
      yt:= copy(trim(combobox2.Text),1,2);
    end;
  with datamodule1 do
  begin
    if ADOQry.Active= true then ADOQry.Close;
    Adoqry.SQL.Clear;
    case nc of
      0: Adoqry.SQL.Add('select yjsl=sum(yjsl),ejsl=sum(ejsl),sjsl=sum(sjsl),'+
                        'fsej=sum(fsej),fssj=sum(fssj),qt=sum(qt),hj=sum(hj)'+#10+
                        'from zgfpb ');
      1: begin
           Adoqry.SQL.Add('select yjsl=sum(yjsl),ejsl=sum(ejsl),sjsl=sum(sjsl),'+
                        'fsej=sum(fsej),fssj=sum(fssj),qt=sum(qt),hj=sum(hj)'+#10+
                        'from zgfpb where dwbh=:dwbh');
           Adoqry.Parameters.ParamByName('dwbh').Value:=dw;
         end;
      2: begin
           Adoqry.SQL.Add('select yjsl=sum(yjsl),ejsl=sum(ejsl),sjsl=sum(sjsl),'+
                        'fsej=sum(fsej),fssj=sum(fssj),qt=sum(qt),hj=sum(hj)'+#10+
                        'from zgfpb where ytbh=:ytbh');
           Adoqry.Parameters.ParamByName('ytbh').Value:=yt;
         end;
      3: begin
           Adoqry.SQL.Add('select yjsl=sum(yjsl),ejsl=sum(ejsl),sjsl=sum(sjsl),'+
                        'fsej=sum(fsej),fssj=sum(fssj),qt=sum(qt),hj=sum(hj)'+#10+
                        'from zgfpb where dwbh=:dwbh and ytbh=:ytbh');
           Adoqry.Parameters.ParamByName('dwbh').Value:=dw;
           Adoqry.Parameters.ParamByName('ytbh').Value:=yt;
         end;
    end;
    Adoqry.Open;
    edit1.Text:=ADOQry.fieldbyname('yjsl').AsString;
    edit2.Text:=ADOQry.fieldbyname('ejsl').AsString;
    edit3.Text:=ADOQry.fieldbyname('sjsl').AsString;
    edit4.Text:=ADOQry.fieldbyname('fsej').AsString;
    edit5.Text:=ADOQry.fieldbyname('fssj').AsString;
    edit6.Text:=ADOQry.fieldbyname('qt').AsString;
    edit7.Text:=ADOQry.fieldbyname('hj').AsString;
    Adoqry.Close;
  end;

end;

procedure TFormSLFP.Edit6Exit(Sender: TObject);
begin
   button4.SetFocus;
end;

end.

⌨️ 快捷键说明

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