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

📄 viewunitunit.pas

📁 短小而实用的房地产销售管理软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
            UnitPullDownForm.ShowModal;
         End;
   End;
End;

Procedure TViewUnitForm.ADOQuery4AfterScroll(DataSet: TDataSet);
Begin
   DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;

Procedure TViewUnitForm.SetTypeButton(bXKTClick: Boolean = false);
Var
   iIndex, i        : integer;
   sname            : String;
   stype            : TStringlist;
Begin
   stype := TStringlist.create;
   stype.Add('无');
   stype.Add('未售');
   stype.Add('预(销)售');
   stype.Add('预定');
   stype.Add('预留');
   stype.Add('租赁');
   stype.Add('抵押');
   stype.Add('拆迁还建');
   If Not bXKTClick Then Begin

      sname := ADOQuery4.fieldbyname('销售类型').Text;
      iIndex := stype.IndexOf(sname);
      For i := 0 To ComponentCount - 1 Do Begin
         If components[i] Is TLbButton Then
            If (components[i] As TLbButton).tag In [101..107] Then
               If (components[i] As TLbButton).tag = iIndex + 100 Then
                  (components[i] As TLbButton).LightColor := clGreen
               Else
                  (components[i] As TLbButton).LightColor := clgray;
      End;

   End Else Begin

   End;
   stype.Free;

End;

Procedure TViewUnitForm.ComboBox1Change(Sender: TObject);
Var
   ST               : String;
Begin
   ST := combobox1.Text;
   If ST = '无' Then
      ST := ''
   Else
      ST := ''' and 销售类型=''' + combobox1.Text;

   With ADOQuery4 Do Begin
      sql.Text := 'select * FROM 单元信息表 WHERE 公司编号=''' +
         ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
         ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
         ADOQuery3.fieldbyname('幢号').Text + ST + '''';
      open;

   End;

   DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;

Procedure TViewUnitForm.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
   DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;

Procedure TViewUnitForm.ADOQuery2AfterScroll(DataSet: TDataSet);
Begin
   DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;

Procedure TViewUnitForm.FlashXKT;

Function GetHourseHor: integer;
   Var
      adotemp       : TADOQuery;
      Max, temp, i  : integer;
      sLayer, sroom : String;
   Begin
      adotemp := TADOQuery.create(self);
      Max := 0;
      With adotemp Do Begin
         connection := DM.DataModule2.ADOConnection1;
         sql.Text := 'select 房号 FROM 单元信息表 ';
         open;

         If recordcount > 0 Then Begin
            For i := 0 To recordcount - 1 Do Begin
               sroom := splitRoom(fieldbyname('房号').Text, sLayer);
               temp := StrToInt(sroom);
               If temp > Max Then Max := temp;
               Next;
            End;
         End
         Else Begin
            Max := 0;
         End;
         Free;
      End;
      result := Max;

   End;
Var
   i, j, layer, Houres: integer;
   HLID, HRID       : String;
   LLID, LRID       : integer;
   HOURSEID         : String;
   adot             : TADOQuery;

Begin

   For i := 1 To StringGrid1.RowCount - 1 Do StringGrid1.Rows[i].Clear;

   StringGrid1.RowCount := 2;
   StringGrid1.ColCount := 2;
       //第1步骤完成
   With ADOQuery3 Do Begin

      If recordcount = 0 Then Exit;
      layer := StrToIntDef(fieldbyname('总层数').Text, 0);
      Houres := StrToIntDef(fieldbyname('总套数').Text, 0);
   End;

   With StringGrid1 Do Begin
      If layer > 0 Then
         RowCount := layer + 1
      Else
         RowCount := 2;
      ColCount := GetHourseHor + 1;
      cells[0, 0] := '楼层';

      For i := 1 To RowCount Do Begin
         cells[0, i] := IntToStr(i);

      End;
      For i := 1 To ColCount Do Begin
         cells[i, 0] := IntToStr(i);
      End;
      StringGrid1.Refresh;
   End;

   roomlist.Clear;
   adot := TADOQuery.create(self);

   With adot Do Begin
      connection := DM.DataModule2.ADOConnection1;
      For i := 1 To layer Do Begin
         Close;
         sql.Text := 'select * from 单元信息表 where  公司编号='''
            +
            ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
            ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
            ADOQuery3.fieldbyname('幢号').Text + ''' and 所在楼层='
            + IntToStr(i) + ' ORDER BY 房号';
         open;
         If recordcount > 0 Then Begin
            For j := 0 To recordcount - 1 Do Begin
               HOURSEID := fieldbyname('房号').Text;
               roomlist.Add(HOURSEID);
               roomlist.Add(fieldbyname('销售类型').Text);
               HRID := splitRoom(HOURSEID, HLID);
               LLID := StrToInt(HLID);
               LRID := StrToInt(HRID);
               StringGrid1.cells[LRID, LLID] := HOURSEID;
               Next;
            End;
         End;
      End;
      Free;
   End;

End;

Procedure TViewUnitForm.StringGrid1DrawCell(Sender: TObject; ACol,
   ARow: integer; Rect: TRect; State: TGridDrawState);

Var
   BUYtype          : String;
   Index            : integer;
Begin
   With StringGrid1 Do Begin
      If (ARow = 0) Or (ACol = 0) Then
         Canvas.Brush.Color := clBTNFACE
      Else Begin
         If cells[ACol, ARow] = '' Then
            Canvas.Brush.Color := clBTNFACE
         Else Begin
            If roomlist.Count > 0 Then Begin
               Index := roomlist.IndexOf(cells[ACol, ARow]);
               If Index >= 0 Then Begin
                  BUYtype := Trim(roomlist.Strings[Index + 1]);

                  If BUYtype = '预(销)售' Then
                     Canvas.Brush.Color := cllime
                  Else If BUYtype = '预留' Then
                     Canvas.Brush.Color := clYellow
                  Else If BUYtype = '预定' Then
                     Canvas.Brush.Color := clAqua
                  Else If BUYtype = '未售' Then
                     Canvas.Brush.Color := clwhite
                  Else If BUYtype = '租赁' Then
                     Canvas.Brush.Color := clFuchsia
                  Else If BUYtype = '抵押' Then
                     Canvas.Brush.Color := clSkyblue
                  Else If BUYtype = '拆迁还建' Then
                     Canvas.Brush.Color := clSilVer;
               End;
            End;
         End;
      End;
      Canvas.Font.Size := 12;
      If (ACol = col) And (ARow = row) Then Begin
         Canvas.Font.Name := '黑体';
         Canvas.Font.Color := clred;
      End
      Else Begin
         Canvas.Font.Name := '宋体';
         Canvas.Font.Color := clblack;
      End;
      Canvas.FillRect(Rect);
      Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, cells[ACol, ARow]);

   End;

End;

Procedure TViewUnitForm.PageControl1Change(Sender: TObject);
Begin
   LbSpeedButton4.click;
End;

Procedure TViewUnitForm.DBGridEh3CellClick(Column: TColumnEh);
Begin
   With ADOQuery4 Do Begin
      sql.Text := 'select * FROM 单元信息表 WHERE 公司编号=''' +
         ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
         ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
         ADOQuery3.fieldbyname('幢号').Text + '''';
      If Not (combobox1.Text = '无') Then
         sql.Add(' AND 销售类型=''' + combobox1.Text + '''');

      open;
   End;

   If (bFlash) And (ADOQuery4.recordcount > 0) Then ADOQuery4.RecNo := ADOQuery4.tag;
   DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;

Procedure TViewUnitForm.StringGrid1Click(Sender: TObject);
Var
   HOURSEID         : String;
   TCOL, TROW       : integer;
Begin
   With StringGrid1 Do Begin
      If RowCount = 1 Then Exit;
      MouseToCell(MX, MY, TCOL, TROW);
      If ((TCOL <> col) And (TROW <> row)) Then Exit;
      HOURSEID := StringGrid1.cells[col, row];
      If Trim(HOURSEID) = '' Then Exit;
   End;
   ADOQuery4.sql.Text :=
      'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
      ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
      ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
      ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
      HOURSEID + '''';
   ADOQuery4.open;

   DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);

End;

Procedure TViewUnitForm.StringGrid1MouseMove(Sender: TObject;
   Shift: TShiftState; x, y: integer);
Begin

   MX := x;
   MY := y;
End;

Procedure TViewUnitForm.StringGrid1DblClick(Sender: TObject);
Var
   HOURSEID         : String;
   TCOL, TROW       : integer;
Begin
   With StringGrid1 Do Begin
      If RowCount = 1 Then Exit;
      MouseToCell(MX, MY, TCOL, TROW);
      If ((TCOL <> col) And (TROW <> row)) Then Exit;
      HOURSEID := StringGrid1.cells[col, row];
      If Trim(HOURSEID) = '' Then Exit;
   End;
   ADOQuery4.sql.Text :=
      'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
      ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
      ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
      ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
      HOURSEID + '''';
   ADOQuery4.open;

   DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);
   LbSpeedButton2.click;

End;

End.

⌨️ 快捷键说明

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