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

📄 main.pas

📁 结于初学者来说这对数据库是一个很好的例子
💻 PAS
📖 第 1 页 / 共 3 页
字号:
 jiezhang:=1;
 InHour:=HourOf(BeginTime);
 DayDiff:=DayOf(now())-DayOf(begintime);
// label5.Caption:=IntToStr(dayof(now())-dayof(BeginTime));
   if InHour<12 then //上午
     begin
        if DayDiff=0 then  //天数差为0情况,
          begin
            if HourOf(now())>=12 then
              begin
                if  HourOf(now())>=18 then
                 begin    //晚六点后为2天
                   jiezhang:=1;
                   jiezhang:=dbt+1;//修改此处0819
                 end
                 else
                 begin
                  jiezhang:=1;
                   jiezhang:=dbt+1;//修改此处0819
                 end;
              end
            else
              begin
                jiezhang:=1;
                   jiezhang:=dbt+1;//修改此处0819
              end;
          end
        else
          begin
            if HourOf(now())>=12 then
              begin
                 if  HourOf(now())<18 then
                  begin
                   jiezhang:=dayof(now())-dayof(BeginTime)+0.5;
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+0.5;//修改此处0819
                     end;
                   //结束
                  end
                 else
                  begin
                   jiezhang:=dayof(now())-dayof(BeginTime)+1;
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+1;//修改此处0819

                     end;
                   //结束
                  end;
              end
            else
              begin
                jiezhang:=dayof(now())-dayof(BeginTime);
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+1;//修改此处0819

                     end;
                   //结束
              end;
          end;
     end
   else  //下午
     begin
        if DayDiff=0 then
          begin
              jiezhang:=1;
                   jiezhang:=dbt+1;//修改此处0819
          end
        else
          begin
            if HourOf(now())>=12 then
              begin
                 if  HourOf(now())<18 then
                   begin
                    jiezhang:=dayof(now())-dayof(BeginTime)+0.5;
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+0.5;//修改此处0819

                     end;
                   //结束
                   end
                   else
                   begin
                    jiezhang:=dayof(now())-dayof(BeginTime)+1;
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+1;//修改此处0819

                     end;
                   //结束
                   end;
              end
            else
              begin
                jiezhang:=dayof(now())-dayof(BeginTime);
                   //跨月份情况
                    if jiezhang<0 then
                     begin
                        jiezhang:=jiezhang+DaysInMonth(BeginTime);
                        jiezhang:=dbt+1;//修改此处0819

                     end;
                   //结束                
              end;
          end;
          end;
 ff:=jiezhang*DayFee;
  //更改部分结束
 end
 else
//按钟点房计算房费
  begin
   if xs<=zdfsj then
   begin
    ii:=1;
   end
   else
   begin
    ii:=xs div zdfsj;
    jj:=xs mod zdfsj;
    if jj<>0 then ii:=ii+1;

   end;
   ff:=zdfff*ii;
  end;
//结束
           Q_Over.SQL.Clear;
           Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
           Q_over.Open;
           Q_over.Edit;
           Q_over['Type1']:=ff;
           Q_over.Post;
//结束
//结束
//根据AccountNo读取 DinList表中数据,合并各个类别金额后存入Account表相应字段中,并在结帐Form中显示;
  Q_ydundo.SQL.Clear;
  Q_ydundo.SQL.Add('select sum(SalePrice*Quantity) as TotalM,MenuType from DinList where cstr(AccountNo)='''+AccountNo+'''');
  Q_ydundo.sql.Add('group by MenuType');
  Q_ydundo.Open;
  while not Q_ydundo.Eof do
   begin
     totala:=q_ydundo.FieldByName('TotalM').asfloat;
      case Q_ydundo.FieldByName('MenuType').asinteger of
        1:
         begin
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
           Q_over.Edit;
           Q_over['Type2']:=totala;
           Q_over.Post;
          end;
      2:
         begin
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
            Q_over.Edit;
            Q_over['Type4']:=totala;
            Q_over.Post;
           end;
        3:
          begin
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
            Q_over.Edit;
            Q_over['Type5']:=totala;
            Q_over.Post;
           end;
        4:
          begin
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
            Q_over.Edit;
            Q_over['Type3']:=totala;
            Q_over.Post;
          end;
        5:
          begin
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
            Q_over.Edit;
            Q_over['Type6']:=totala;
            Q_over.Post;

          end;
      end;        
    Q_ydundo.Next;
   end;
//结束
//计算合计、应收金额
            Q_Over.SQL.Clear;
            Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
            Q_over.Open;
            Q_over.Edit;
            Q_over['xj']:=round(Q_Over.FieldByName('Type1').asfloat+Q_Over.FieldByName('Type2').asfloat+Q_Over.FieldByName('Type3').asfloat+Q_Over.FieldByName('Type4').asfloat+Q_Over.FieldByName('Type5').asfloat+Q_Over.FieldByName('Type6').asfloat);
            Q_over['ysje']:=round(Q_Over.FieldByName('Type1').asfloat+Q_Over.FieldByName('Type2').asfloat+Q_Over.FieldByName('Type3').asfloat+Q_Over.FieldByName('Type4').asfloat+Q_Over.FieldByName('Type5').asfloat+Q_Over.FieldByName('Type6').asfloat);
            Q_over.Post;
//结束
//读取 Account中各类项目的值
    Q_Over.SQL.Clear;
    Q_Over.SQL.Add('Select * from Account where RoomName='''+RooMN+'''');
    Q_Over.Open;
    Form20.XF_ff.caption:=Q_Over.FieldByName('Type1').AsString;
    Form20.XF_ryp.caption:=Q_Over.FieldByName('Type2').AsString;
    Form20.XF_sp.caption:=Q_Over.FieldByName('Type3').AsString;
    Form20.XF_yl.caption:=Q_Over.FieldByName('Type4').AsString;
    Form20.XF_jl.caption:=Q_Over.FieldByName('Type5').AsString;
    Form20.XF_qt.caption:=Q_Over.FieldByName('Type6').AsString;
    Form20.XF_xj.caption:=Q_Over.FieldByName('xj').AsString;
    Form20.XF_zlfy.caption:=Q_Over.FieldByName('zlfy').AsString;
    Form20.XF_ysje.caption:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
    Form20.XF_sfje.caption:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
//    Form20.XF_zkje.caption:=Q_Over.FieldByName('zkje').AsString;
    Form20.xF_zlfj.caption:=Q_Over.FieldByName('zlfy_Room').AsString;
    Form20.Jz_ml.Text:='0';
    Form20.Jz_rmb.Text:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
    Form20.Jz_zkl.Text:='100';
    Form20.Jz_zp.Text:='0';
    Form20.Jz_xyk.Text:='0';
    Form20.Jz_kd.Text:='0';
    Form20.Jz_dz.text:='0';
//结束
    Form20.ShowModal;
end;

procedure TForm1.N28Click(Sender: TObject);
begin
  Form23.ShowModal;
end;

procedure TForm1.N18Click(Sender: TObject);
begin
  Form24.ShowModal;
end;

procedure TForm1.N29Click(Sender: TObject);
begin
 Form26.ShowModal;
end;

procedure TForm1.N14Click(Sender: TObject);
begin
   Form29.ShowModal;
end;

procedure TForm1.N15Click(Sender: TObject);
begin
  form31.ShowModal;
end;

procedure TForm1.N16Click(Sender: TObject);
begin
  form35.ShowModal;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
 var treenode1:Ttreenode;
begin
  tv1.Items.Clear;
    treenode1:=tv1.Items.Add(nil,'房间状态');
    treenode1.ImageIndex:=0;
    treenode1.SelectedIndex:=0;
    Q_RoomStatus.Active:=false;
    Q_RoomStatus.Active:=true;
    Q_RoomStatus.First;
    treenode1:=tv1.Items.AddChild(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
  case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
        0:
         begin
           treenode1.ImageIndex:=1;
         end;
        1:
         begin
           treenode1.ImageIndex:=2;
         end;
        2:
         begin
           treenode1.ImageIndex:=3;
         end;
      end;
    treenode1.SelectedIndex:=4;
    Q_RoomStatus.Next;
    while not Q_RoomStatus.Eof do
     begin
       treenode1:=tv1.Items.Add(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
      case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
        0:
         begin
           treenode1.ImageIndex:=1;
         end;
        1:
         begin
           treenode1.ImageIndex:=2;
         end;
        2:
         begin
           treenode1.ImageIndex:=3;
         end;
      end;
    treenode1.SelectedIndex:=4;
    Q_RoomStatus.Next;
     end;
  tv1.AutoExpand:=true;

end;

procedure TForm1.FormShow(Sender: TObject);
 var treenode1:Ttreenode;
begin
    operator.Caption:=form36.sys_username;
//  tv1.Items.Clear;
    treenode1:=tv1.Items.Add(nil,'房间状态');
    treenode1.ImageIndex:=0;
    treenode1.SelectedIndex:=0;
    Q_RoomStatus.Active:=false;
    Q_RoomStatus.Active:=true;
    Q_RoomStatus.First;
    treenode1:=tv1.Items.AddChild(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
  case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
        0:
         begin
           treenode1.ImageIndex:=1;
         end;
        1:
         begin
           treenode1.ImageIndex:=2;
         end;
        2:
         begin
           treenode1.ImageIndex:=3;
         end;
      end;
    treenode1.SelectedIndex:=4;
    Q_RoomStatus.Next;
    while not Q_RoomStatus.Eof do
     begin
       treenode1:=tv1.Items.Add(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
      case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
        0:
         begin
           treenode1.ImageIndex:=1;
         end;
        1:
         begin
           treenode1.ImageIndex:=2;
         end;
        2:
         begin
           treenode1.ImageIndex:=3;
         end;
      end;
    treenode1.SelectedIndex:=4;
    Q_RoomStatus.Next;
     end;
  tv1.AutoExpand:=true;

end;

procedure TForm1.N30Click(Sender: TObject);
begin
 form37.showmodal;
end;

procedure TForm1.N26Click(Sender: TObject);
begin
 shellExecute(handle,'open',pchar('kefang.chm'),nil,nil,sw_showmaximized);
end;

procedure TForm1.N31Click(Sender: TObject);
begin
form38.DBGrid1.OnDblClick:=nil;
form38.showmodal;
end;

procedure TForm1.N32Click(Sender: TObject);
begin
form39.showmodal;
end;

end.

⌨️ 快捷键说明

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