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

📄 pub_program.pas

📁 以前写的一个利用P2P 技术的一个通讯的例子。里面用到了 DBISAM 、INDY 控件。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   meet_room := iif(m_lang = 1, '成员房间 [', 'MEMBER ROOM [');
   endcash_msg := iif(m_lang = 1, ']签单状态为<正在结帐>, 结帐中止!', '] CTL STATUS IS <PAYING>, PAY STOP!');
   nosucess := iif(m_lang = 1, '失败!', 'UNSUCCESS !');
   need_tsfw := iif(m_lang = 1, '要求特服', 'SP.SVR REQ');
   spec_msg := iif(m_lang = 1, '重要信息', 'IMPT INFO');
   zk_msg := iif(m_lang = 1, '住客留言', 'GST MSG');
   fk_msg := iif(m_lang = 1, '访客留言', 'VISIT MSG');
   pt_unset := iif(m_lang = 1, '付款方式未设置!', 'PAY TYPE UNSET!');
   cost_unset := iif(m_lang = 1, '费用项目未设置!', 'NOT SET COST ITEM');
   input_card := iif(m_lang = 1, '请确认刷卡後使用积分消费!', '');
   setup_exl := iif(m_lang = 1, '请安装Ms Excel !', 'PLEASE SETUP EXCEL APPLICATION !');
   nobill_msg := iif(m_lang = 1, '没有帐单!', ' NO BILL !');
   days := iif(m_lang = 1, '/天', '/DAY');
   gen_flag := iif(m_lang = 1, ' 班', 'SHFT');
   input_money := iif(m_lang = 1, '必须录入金额!', ' MUST INPUT AMOUNT !');
   plz_input := iif(m_lang = 1, '请输入', 'PLEASE INPUT ');
   date_msg1 := iif(m_lang = 1, '日期', 'DATE ');
   time_msg := iif(m_lang = 1, '时间', 'TIME ');
   prn_date := iif(m_lang = 1, '日期:', 'DATE: ');
   prn_opno := iif(m_lang = 1, '制表:', 'OPNO: ');
   this_gen := iif(m_lang = 1, '当班', 'THE SHFT');
   the_opno := iif(m_lang = 1, ' 工号:', 'OPNO: ');
   str_fee1 := iif(m_lang = 1, '保 险 费', 'INSUR');
   str_fee2 := iif(m_lang = 1, '政 府 税', 'TAX');
   str_fee3 := iif(m_lang = 1, '保险费', 'INSUR');
   str_fee4 := iif(m_lang = 1, '政府税', 'TAX');
   sure_update := iif(m_lang = 1, '确认数据修改?', 'BE SURE TO MODIFY DATA ?');
   prn_time := iif(m_lang = 1, '           打印时间:', '         PRINT TIME:'); }
end;

procedure display_v_sg(sg_jl: TAdvStringGrid; m_sql: string; m_col, m_field, m_diff: integer);
var
   i, j, k, m_colcount, arow, m_flag: integer;
   s, s1: string;
begin
   arow := 0;
   s1 := '';
   with f_web_dm.qy_wangy do
      begin
         close;
         sql.Clear;
         sql.Add(m_sql);
         open;
         m_colcount := m_col * m_field;
         while not eof do
            with sg_jl do
               begin
                  str_grid_wy(sg_jl, arow);
                  j := 0;
                  while j < m_colcount do
                     begin
                        for i := 0 to m_field - 1 do
                           begin
                              case m_diff of
                                 0:
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring;
                                             cells[j + m_colcount, arow] := fieldbyname('coun').asstring;
                                             cells[j + m_colcount + 1, arow] := fieldbyname('flag').asstring;
                                             cells[j + m_colcount + 2, arow] := fieldbyname('flag_n').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('svrcode').asstring;
                                             cells[j + m_colcount * 2 + 1, arow] := fieldbyname('night').asstring;
                                             cells[j + m_colcount * 2 + 2, arow] := fieldbyname('days').asstring;
                                          end;
                                       1, 2: ;
                                    end;
                                 1: //'select accno,name from userdb order by accno'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fieldbyname('accno').asstring + ' - ' + fieldbyname('name').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('accno').asstring;
                                          end;
                                    end;
                                 2: //'select name,flag,coun,days,night,auto,svrcode,sort from SVRCODE order by sort'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring;
                                             cells[j + m_colcount, arow] := fieldbyname('coun').asstring;
                                             cells[j + m_colcount + 1, arow] := fieldbyname('flag').asstring;
                                             cells[j + m_colcount + 2, arow] := fieldbyname('flag_n').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('svrcode').asstring;
                                             cells[j + m_colcount * 2 + 1, arow] := fieldbyname('night').asstring;
                                          end;
                                       1, 2: ;
                                    end;
                                 4: //zhbbdy,ydbbdy
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('svrcode').asstring;
                                          end;
                                    end;
                                 5: //foliosz
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring + ' - ' + fieldbyname('name').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('costfo').asstring;
                                          end;
                                    end;
                                 16:
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring;
                                             cells[j + m_colcount, arow] := fieldbyname('coun').asstring;
                                             cells[j + m_colcount + 1, arow] := fieldbyname('flag').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('svrcode').asstring;
                                             cells[j + m_colcount * 2 + 1, arow] := fieldbyname('days').asstring;
                                          end;
                                       1: ;
                                    end;
                                 23: //'select name,coun,flag,svrcode,sort from SVRCODE order by sort'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring;
                                             cells[j + m_colcount, arow] := fieldbyname('coun').asstring;
                                             cells[j + m_colcount + 1, arow] := fieldbyname('flag').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('svrcode').asstring;
                                          end;
                                       1: ;
                                    end;
                                 24: //foliosz_n
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fields.Fields[i].asstring + ' - ' + fieldbyname('name').asstring;
                                          end;
                                    end;
                                 25: //'select name,sign,rclass,rate from strate order by rclass'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fieldbyname('name').asstring + ' - ' + fieldbyname('sign').asstring + ' [' + currtostrf(fieldbyname('rate').ascurrency, fffixed, gint_dec) + ']';
                                             cells[j + m_colcount * 2, arow] := fieldbyname('rclass').asstring;
                                          end;
                                    end;
                                 26: //'select mn_ord,mn_level,mn_sort,mn_name,caption,descrip from menudyb order by mn_ord,mn_level,mn_sort';
                                    case i of
                                       0:
                                          begin
                                             k := fieldbyname('mn_level').asinteger;
                                             {s := fieldbyname('descrip').asstring;
                                             if ord(s[1]) = ord(s[8]) then
                                                begin
                                                   next;
                                                   continue;
                                                end;}
                                             case k of
                                                0: //   if k = 0 then
                                                   begin
                                                      str_grid_wy(sg_jl, arow);
                                                      if pos('**', cells[0, arow - 1]) > 0 then
                                                         arow := arow - 1;

                                                      j := 0;
                                                      //AddButton(j, arow, 17, 17, '...', haBeforeText, vaCenter);
                                                      //addimageidx(j, arow, 0, haBeforeText, vaCenter);
                                                      s := fieldbyname('mn_name').asstring; // encrypt_str(fieldbyname('mn_name').asstring, '', false);
                                                      cells[j, arow] := '       **  ' + fieldbyname('caption').asstring + '  **';
                                                      s := 'name:' + s + '*ord:' + fieldbyname('mn_ord').asstring + '*level:' + fieldbyname('mn_level').asstring + '*sort:' + fieldbyname('mn_sort').asstring + '*';
                                                      s := s + 'cap:' + fieldbyname('caption').asstring + '*desc:' + fieldbyname('descrip').asstring + '*';
                                                      cells[j + m_colcount, arow] := s;
                                                      MergeCells(0, arow, m_colcount, 1);
                                                      str_grid_wy(sg_jl, arow);
                                                      j := 0;
                                                      //next;
                                                      continue;
                                                   end;
                                                else
                                                   begin
                                                      s := encrypt_str(fieldbyname('mn_name').asstring, '', false);
                                                      if s = 'MI_XTGL_GENMENU' then
                                                         begin
                                                            next;
                                                            continue;
                                                         end;
                                                      AddCheckBox(j, arow, false, false);
                                                      s := fieldbyname('mn_name').asstring; //encrypt_str(fieldbyname('mn_name').asstring, '', false);
                                                      cells[j, arow] := fieldbyname('caption').asstring;
                                                      s := 'name:' + s + '*ord:' + fieldbyname('mn_ord').asstring + '*level:' + fieldbyname('mn_level').asstring + '*sort:' + fieldbyname('mn_sort').asstring + '*';
                                                      s := s + 'cap:' + fieldbyname('caption').asstring + '*desc:' + fieldbyname('descrip').asstring + '*';
                                                      cells[j + m_colcount, arow] := s;
                                                   end;
                                             end;
                                          end;
                                    end;
                                 27: //'select depno,name from depno order by depno'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fieldbyname('depno').asstring + ' - ' + fieldbyname('name').asstring;
                                             cells[j + m_colcount * 2, arow] := fieldbyname('depno').asstring;
                                          end;
                                    end;
                                 28: //'select depno,name from depno order by depno'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, true, false);
                                             cells[j, arow] := fieldbyname('room').asstring;
                                          end;
                                       //1: cells[j, arow] := getpartstr(rcls_list[fieldbyname('rclass').asinteger], '-', '', false);
                                    end;
                                 29: //'select mn_ord,mn_level,mn_sort,mn_name,caption,descrip from menudyb order by mn_ord,mn_level,mn_sort';
                                    case i of
                                       0:
                                          begin
                                             s := fieldbyname('depno').asstring;
                                             if s <> s1 then
                                                begin
                                                   str_grid_wy(sg_jl, arow);
                                                   if pos('**', cells[0, arow - 1]) > 0 then
                                                      arow := arow - 1;
                                                   j := 0;

                                                   cells[j, arow] := '       **  ' + fieldbyname('aa').asstring + '  **';
                                                   MergeCells(0, arow, m_colcount, 1);
                                                   str_grid_wy(sg_jl, arow);
                                                   j := 0;
                                                end;
                                             AddCheckBox(j, arow, false, false);
                                             cells[j, arow] := fieldbyname('opno').asstring + ' - ' + fieldbyname('name').asstring;
                                             s1 := s;
                                          end;
                                    end;
                                 31: //'select depno,name from depno order by depno'
                                    case i of
                                       0:
                                          begin
                                             AddCheckBox(j, arow, true, false);
                                             cells[j, arow] := fields.Fields[i].asstring + ' - ' + fieldbyname('name').asstring;
                                          end;
                                    end;
                              end;
                              inc(j);
                           end;
                        next;
                        if eof then
                           break;
                     end;
               end;
         close;
      end;
end;

function SpeedInput(btime, etime: Cardinal): boolean; //n-毫秒
begin
   result := false;
   if etime - btime <= 1000 then
      begin
         result := true;
      end;
end;

procedure replace_mask(Sender: TObject; m_mask: string = '#,##0.0');
var
   i: Integer;
   qrtext: TQRDBText;
   qrexpr: TQRExpr;
begin
   for i := 0 to (Sender as TForm).ComponentCount - 1 do
      begin
         if ((Sender as TForm).Components[i] is TQRDBText) then
            begin
               qrtext := TQRDBText((Sender as TForm).Components[I]);
               if qrtext.mask = '#,##0.0' then
                  qrtext.mask := '#,##0.00'
               else
                  if qrtext.mask = '#,###.#' then
                  qrtext.mask := '#,###.##';
            end
         else
            if ((Sender as TForm).Components[i] is TQRExpr) then
            begin
               qrexpr := TQRExpr((Sender as TForm).Components[I]);
               if qrexpr.mask = '#,##0.0' then
                  qrexpr.mask := '#,##0.00'
               else
                  if qrexpr.mask = '#,###.#' then
                  qrexpr.mask := '#,###.##';
            end;
      end;
end;

function IsEMail(EMail: string): Boolean;
var
   s: string;
   ETpos: Integer;
begin
   ETpos := pos('@', EMail);
   if ETpos > 1 then
      begin
         s := copy(EMail, ETpos + 1, Length(EMail));
         if (pos('.', s) > 1) and (pos('.', s) < length(s)) then
            Result := true
         else
            Result := false;
      end
   else
      Result := false;
end;

procedure chg_prnsize(sender: TQuickRep);
begin
   //if (gint_psize = 1) and (sender.page.Orientation = poPortrait) then
   with sender.Page do
      begin
         PaperSize := A4;
         LeftMargin := 2;
         TopMargin := 20;
      end;

⌨️ 快捷键说明

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