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

📄 pub_program.pas

📁 以前写的一个利用P2P 技术的一个通讯的例子。里面用到了 DBISAM 、INDY 控件。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   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;
end;

function getnextyear(m_date: string; m_flag: integer = 0): string;
begin
   {with f_reca_dm.qy_wangy do
      begin
         close;
         sql.Clear;
         sql.Add('select aa=dateadd(dd,-1,dateadd(yy,1,:vdate))');
         parambyname('vdate').asdatetime := strtodate(m_date);
         open;
         result := datetostr(fieldbyname('aa').asdatetime);
         close;
      end;}
end;

function findfile(FFileName: string): boolean;
var
   FSearchRec: TSearchRec;
   FindResult: integer;
begin
   result := false;
   FindResult := FindFirst(FFileName, faAnyFile, FSearchRec);
   try
      result := FindResult = 0;
   finally
      FindClose(FSearchRec);
   end;
end;

procedure corr_birth(sender: TObject);
var
   s: string;

⌨️ 快捷键说明

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