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

📄 u_web_userm.pas

📁 以前写的一个利用P2P 技术的一个通讯的例子。里面用到了 DBISAM 、INDY 控件。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
            s := s + ' ' + copy(m_date, 6, 5) + '   ' + days[k] + '*7*';
         end;
   title_sg_wy(sg_jl, s, false);
   with sg_jl do //改列数, 此处最重要
      for i := 0 to j do
         cells[colcount + 6 + i, 0] := datetostr(strtodate(m_adate) + i);

   with sg_jl do
      with f_reca_dm_wy2.sp_yduseroom_wangy do
         begin
            str_grid_wy(sg_jl, arow);
            cells[0, arow] := iif(m_lang = 1, '  用房数', '  ROOMS');
            fixedcols := 6;
            defaultRowHeight := 26;
            close;
            parambyname('@vcompu').asstring := Gstr_compu;
            parambyname('@vrclass').asinteger := rcls;
            prepare;
            open;
            while not eof do
               begin
                  str_grid_wy(sg_jl, arow);
                  for i := 0 to colcount - 1 do
                     case i of
                        0:
                           begin
                              cells[colcount, arow] := fields.fields[i].asstring;
                              if (arow > 0) and (cells[colcount, arow] <> cells[colcount, arow - 1]) then
                                 cells[i, arow] := cells[colcount, arow]
                              else
                                 cells[i, arow] := iif(cells[colcount, arow] <> '', '        BLK RM', '');
                           end;
                        1:
                           begin
                              cells[i, arow] := fields.fields[i].asstring;
                              if cells[i, arow] = '000000' then
                                 cells[i, arow] := '';
                           end;
                        2, 3:
                           cells[i, arow] := fields.fields[i].asstring;
                        4:
                           cells[i, arow] := fieldbyname('days_val').asstring;
                        5:
                           cells[i, arow] := trans_lst_wy(fieldbyname('rst').asinteger, rst_list, true);
                        6:
                           begin
                              m_adate := datetostr(fieldbyname('adate').asdatetime);
                              m_ddate := datetostr(fieldbyname('ddate').asdatetime);
                              rst := trans_lst_wy(fieldbyname('rst').asinteger, rst_list, true);
                              //if (not fieldbyname('rsvnno').isnull) and (trim(fieldbyname('room').asstring) = '') then
                              //   cells[1, arow] := iif(fieldbyname('guaran').asstring = '1', '*GTD*', '');
                              s := '';
                              if not fieldbyname('rsvnno').isnull then
                                 s := iif(m_lang = 1, '预订流水号 ', 'RSVNNO: ') + fieldbyname('rsvnno').asstring + #13#10;
                              s := s + iif(m_lang = 1, '房        号:  ', 'ROOM:    ') + fieldbyname('room').asstring + '    ' + #13#10;
                              s := s + iif(m_lang = 1, '房        态:  ', 'RM STS:    ') + rst + #13#10;
                              s := s + iif(m_lang = 1, '住客姓名:  ', 'NAME:       ') + fieldbyname('name').asstring + #13#10;
                              s := s + iif(m_lang = 1, '余住天数:  ', 'LFT OCCP DAYS:  ') + fieldbyname('days_val').asstring + #13#10;
                              case fieldbyname('rst').asinteger of
                                 0, 4:
                                    begin
                                       s := s + iif(m_lang = 1, '起始时间:  ', 'BEG DATE:  ') + datetostr(fieldbyname('adate').asdatetime, 1) + #13#10;
                                       s := s + iif(m_lang = 1, '截止时间:  ', 'END DATE:  ') + datetostr(fieldbyname('ddate').asdatetime, 1) + #13#10;
                                    end;
                                 else
                                    begin
                                       if fieldbyname('fsave').asinteger > 0 then
                                          begin
                                             s := s + iif(m_lang = 1, '起始时间:  ', 'BEG DATE:  ') + datetostr(fieldbyname('adate').asdatetime, 1) + #13#10;
                                             s := s + iif(m_lang = 1, '截止时间:  ', 'END DATE:  ') + datetostr(fieldbyname('ddate').asdatetime, 1) + #13#10;
                                          end
                                       else
                                          begin
                                             s := s + iif(m_lang = 1, '入住时间:  ', 'ARR DATE:  ') + datetostr(fieldbyname('adate').asdatetime, 1) + #13#10;
                                             s := s + iif(m_lang = 1, '离店时间:  ', 'DEP DATE:  ') + datetostr(fieldbyname('ddate').asdatetime, 1) + #13#10;
                                          end;
                                    end;
                              end;
                              if not fieldbyname('dtype').isnull then
                                 s := s + iif(m_lang = 1, '折扣类型:  ', 'DISC TYPE:  ') + dtype_list[fieldbyname('dtype').asinteger]
                              else
                                 s := s + iif(m_lang = 1, '折扣类型:  ', 'DISC TYPE:  ');
                              if (trim(fieldbyname('room').asstring) <> '') and (fieldbyname('rst').asinteger > 4) then
                                 s := s + #13#10 + iif(m_lang = 1, '折        扣:  ', 'DISC:        ') + currtostrf(fieldbyname('disc').ascurrency, fffixed, gint_dec);
                              if not fieldbyname('dname').isnull then
                                 s := s + #13#10 + iif(m_lang = 1, '打  折  人:  ', 'APPROV BY:  ') + fieldbyname('dname').asstring;
                              if (trim(fieldbyname('room').asstring) <> '') and (fieldbyname('rst').asinteger > 4) then
                                 s := s + #13#10 + iif(m_lang = 1, '实际房费:  ', 'RATE:      ') + currtostrf(fieldbyname('rate').ascurrency, fffixed, gint_dec);
                              if fieldbyname('fsave').asinteger <> 0 then
                                 s := s + #13#10 + iif(m_lang = 1, '保留天数:  ', 'SAVED DAYS:  ') + fieldbyname('fsave').asstring;
                              if fieldbyname('remark').asstring <> '' then
                                 s := s + #13#10 + iif(m_lang = 1, '客房备注:  ', 'RM REMARK  :') + bow_str(fieldbyname('remark').asstring);
                              s := s + '*room:' + fieldbyname('room').asstring + '*rst:' + fieldbyname('rst').asstring + '*fsave:' + fieldbyname('fsave').asstring + '*';
                              s := s + '*adate:' + datetostr(fieldbyname('adate').asdatetime) + '*ddate:' + datetostr(fieldbyname('ddate').asdatetime) + '*rsvnno:' + fieldbyname('rsvnno').asstring + '*recno:' + fieldbyname('recno').asstring + '*';
                              case fieldbyname('rst').asinteger of
                                 0, 4:
                                    for j := 6 to colcount - 1 do
                                       if (cells[j + colcount, 0] >= m_adate) and (cells[j + colcount, 0] <= m_ddate) then
                                          cells[j + colcount, arow] := s;
                                 else
                                    for j := 6 to colcount - 1 do
                                       if (cells[j + colcount, 0] >= m_adate) and (cells[j + colcount, 0] < m_ddate) then
                                          cells[j + colcount, arow] := s;
                              end;
                              cells[colcount + 1, arow] := fieldbyname('rst').asstring;
                              cells[colcount + 2, arow] := fieldbyname('fsave').asstring;
                           end;
                     end;
                  next;
               end;
            close;
            rcls := 0;
            rst_rsv := 0;
            rst_dirty := 0;
            rst_ooo := 0;
            rst_vdb := 0;
            rst_fsave := 0;
            rst_inhou := 0;
            for j := 6 to colcount - 1 do
               begin
                  k := 0;
                  for i := 2 to rowcount - 1 do
                     if cells[j + colcount, i] <> '' then
                        inc(k, strtoint(getstr(cells[3, i])));
                  cells[j, 1] := iif(k > 0, inttostr(k), '');
               end;
            s := '';
            k := 0;
            m_col := 0;
            for i := 6 to colcount - 1 do
               begin
                  j := strtoint(getstr(cells[i, 1]));
                  if k < j then
                     begin
                        s := cells[i, 0];
                        k := j;
                        m_col := i;
                     end;
               end;
            if k > 0 then
               begin
                  rcls := k;
                  for i := 2 to rowcount - 1 do
                     if (cells[m_col + colcount, i] <> '') then
                        begin
                           j := strtoint(getstr(cells[colcount + 1, i], '-1'));
                           if cells[0, i] <> '' then
                              j := -1;
                           case j of
                              -1:
                                 if (cells[0, i] <> '') then
                                    inc(rst_rsv, strtoint(getstr(cells[3, i])));
                              0:
                                 if getstr(cells[colcount + 2, i]) = '0' then
                                    inc(rst_dirty)
                                 else
                                    inc(rst_fsave);
                              1:
                                 if getstr(cells[colcount + 2, i]) > '0' then
                                    inc(rst_fsave);
                              2: inc(rst_vdb);
                              4: inc(rst_ooo);
                              5, 6, 7: inc(rst_inhou);
                           end;
                        end;
                  s := iif(m_lang = 1, '最多用房日:[', 'MAX RMS DATE:') + copy(trim(s), 1, 5) + '] ';
                  s := s + iif(m_lang = 1, '用房数:[', 'USED RMS:[') + inttostr(rcls) + iif(m_lang = 1, ']  其中:', ']  INC:');
                  s := s + iif(m_lang = 1, ' 预订房:[', 'BK RMS:[ ') + inttostr(rst_rsv) + ']';
                  if rst_ooo > 0 then
                     s := s + iif(m_lang = 1, ' 维修房:[', 'OOO: [') + inttostr(rst_ooo) + ']';
                  s := s + iif(m_lang = 1, ' 在住房:[', 'OCCP:[') + inttostr(rst_inhou) + ']';
                  if rst_dirty > 0 then
                     s := s + iif(m_lang = 1, ' 待清房:[', 'V.D:[') + inttostr(rst_dirty) + ']';
                  if rst_vdb > 0 then
                     s := s + iif(m_lang = 1, ' 脏排房:[', 'VDB:[') + inttostr(rst_vdb) + ']';
                  if rst_fsave > 0 then
                     s := s + iif(m_lang = 1, ' 保留房:[', 'SAVED RM:[') + inttostr(rst_fsave) + ']';
                  pn_stat.caption := '  ' + s;
               end;
            paste_bmp;

            if m_diff = 5 then
               begin
                  s := copy(analy_str('date_c', m_str), 6, 5);
                  pn_stat.Caption := '';
                  with sg_jl do
                     for i := 6 to colcount - 1 do
                        if pos(s, cells[i, 0]) > 0 then
                           begin
                              m_col := i;
                              break;
                           end;
               end;
         end;
end;

procedure TF_WEB_USERM.display_16;
var
   i, j, k, rcls: integer; // , m_col
   rst_rsv, rst_dirty, rst_ooo, rst_fsave, rst_inhou: integer;
   s, m_date, rst: string; //
begin
   m_adate := analy_str('adate', m_str);
   m_ddate := analy_str('ddate', m_str);
   m_adate := datetostr(strtodate(m_adate) - 1);
   j := round(strtodate(m_ddate) - strtodate(m_adate));
   case m_lang of
      1: s := '预订流水号*12*房号*6*住客名称*14*房*4*天*4*态*4*';
      2: s := 'RSVNNO*12*ROOM*6*NAME*14*RMS*4*DAY*4*RST*4*';
   end;
   with sg_jl do
      for i := 0 to j do
         begin
            m_date := datetostr(strtodate(m_adate) + i);
            k := DayOfWeek(strtodate(m_date));
            s := s + ' ' + copy(m_date, 6, 5) + '   ' + days[k] + '*7*';
         end;
   title_sg_wy(sg_jl, s, false);
   with sg_jl do //改列数, 此处最重要
      for i := 0 to j do
         cells[colcount + 6 + i, 0] := datetostr(strtodate(m_adate) + i);

   with sg_jl do
      with f_reca_dm_wy2.sp_getrsvrm_wangy do
         begin
            fixedcols := 6;
            defaultRowHeight := 26;
            close;
            parambyname('@vrsvnno').asstring := analy_str('rsvnno', m_str);
            parambyname('@vrecno').asinteger := strtoint(analy_str('recno', m_str));
            prepare;
            open;
            while not eof do
               begin
                  str_grid_wy(sg_jl, arow);
                  for i := 0 to colcount - 1 do
                     case i of
                        0:
                           begin
                              cells[colcount, arow] := fields.fields[i].asstring;
                              if (arow > 0) and (cells[colcount, arow] <> cells[colcount, arow - 1]) then
                                 cells[i, arow] := cells[colcount, arow]
                              else
                                 cells[i, arow] := iif(cells[colcount, arow] <> '', '        BLK RM', '');
                           end;
                        1:
                           begin
                              cells[i, arow] := fields.fields[i].asstring;
                              if cells[i, arow] = '000000' then
                                 cells[i, arow] := '';
                           end;
                        2, 3:
                           cells[i, arow] := fields.fields[i].asstring;
                        4:
                           cells[i, arow] := fieldbyname('days_val').asstring;
                        5:
                           cells[i, arow] := trans_lst_wy(fieldbyname('rst').asinteger, rst_list, true);
                        6:
                           begin
                              m_adate := datetostr(fieldbyname('adate').asdatetime);
                              m_ddate := datetostr(fieldbyname('ddate').asdatetime);
                              rst := trans_lst_wy(fieldbyname('rst').asinteger, rst_list, true);
                              //if (not fieldbyname('rsvnno').isnull) and (trim(fieldbyname('room').asstring) = '') then
                              //   cells[1, arow] := iif(fieldbyname('guaran').asstring = '1', '*GTD*', '');
                              s := '';
                              if not fieldbyname('rsvnno').isnull then

⌨️ 快捷键说明

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