当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: num dscription quantity 10007 aa 300 20003 a1 30 20004 a2 50 如何编语句,求出(a1+a2)/aa 的比率。并把这个比率通过单独的列显示出来。 请各位帮忙。谢谢 ......
    摘要: 各位大侠客,小弟现在遇到一个问题。我写了一个查询数据的程序,由于查询的数据量比较大,所以在查询过程中有一段时间程序处于僵死状态,在查询结束后,程序恢复正常。 现在老板要求没查到一条记录就在一个窗体上显示查到的结果。所以我在查询之前把form给show了出来,但是在执行查询的时候form就象没有刷新一样,僵死在那里。而且什么也显示不出来。 请各为大侠帮帮忙,给出个主意。怎么样才能让窗体正常显......


帮忙翻译成Delphi

#define   POLY   0x8408  
  /*  
  //                                                                             16       12       5  
  //   this   is   the   CCITT   CRC   16   polynomial   X     +   X     +   X     +   1.  
  //   This   works   out   to   be   0x1021,   but   the   way   the   algorithm   works  
  //   lets   us   use   0x8408   (the   reverse   of   the   bit   pattern).     The   high  
  //   bit   is   always   assumed   to   be   set,   thus   we   only   use   16   bits   to  
  //   represent   the   17   bit   value.  
  */  
   
  unsigned   short   crc16(unsigned   char   *data_p,   size_t   length)  
  {  
      unsigned   char   i;  
      unsigned   int   data;  
   
      if   (   length   ==   0   )   return   0;  
      unsigned   int   crc   =   0xFFFF;  
      do  
      {  
          data   =   *data_p++;  
          for   (   i=0;   i   <   8;   i++   )  
          {  
              if   (   (crc   ^   data)   &   1   )  
                  crc   =   (crc   >>   1)   ^   POLY;  
              else  
                  crc   >>=   1;  
              data   >>=   1;  
          }  
      }   while   (   --length   !=   0   );  
   
      crc   =   ~crc;  
      data   =   crc;  
      crc   =   (crc   <<   8)   |   ((data   >>   8)   &   0xff);  
      return   (unsigned   short)(crc);  
  }  
   
 

NO.1   作者: flyinwuhan

const   POLY   =   $8408;  
   
  function   crc16(   ;   data_p:   PByte;   length:size_t   ):word;  
  var  
      i   :   byte;  
      data,   crc:   word;  
  begin  
      if   (   length   =   0   )   then    
      begin    
          result:=   0;exit;  
      end;  
   
      crc   :=   $FFFF;  
      repeat      
          data   :=   data_p^;  
          inc(data_p);  
          for   (   i:=0   to   8-1   do   )   do  
          begin  
              if   (   (crc   xor   data)   and   1   )   >   0   then  
                  crc   :=   (crc   shl   1)   xor   POLY  
              else  
                  crc   :=   crc   shr   1;  
              data   :=   data   shr   1;  
          end;  
          dec(length);  
      until   (   length   =   0   );  
   
      crc   :=   crc   not   crc;  
      data   :=   crc;  
      crc   :=   (crc   shl   8)   or   ((data   shr   8)   and   $ff);  
      result   :=   crc;  
  end;  
   
  看看对不?好久没看C了

NO.2   作者: dai_xu

type  
      PWord=^word;  
   
  function   crc16(data_p:PWord;length:integer):word;  
  const  
      POLY=$8408;  
  var  
      i:integer;  
      crc,data:word;  
  begin  
   
      result:=0;  
      if   (   length   =   0   )   then  
          exit;  
      crc:=   $FFFF;  
      repeat  
          data   :=   data_p^;  
          inc(data_p);  
          for   i:=0   to   7   do  
          begin  
              if   ((   crc   xor   data)   and   1   <>0   )   then  
                  crc   :=   (crc   shr   1)   xor   POLY  
              else  
                  crc:=   crc   shr   1;  
              data   :=   data   shr   1;  
          end;  
          dec(length);  
      until     length<>0;  
   
      crc   :=   not   crc;  
      data   :=   crc;  
      crc   :=   (crc   shl   8)   or   ((data   shr   8)   and   $ff);  
      result:=crc;  
  end;

NO.3   作者: unsigned)

const  
        POLY   =$8408;  
  type  
        PBYTE=^Byte;  
  //unsigned   short   crc16(unsigned   char   *data_p,   size_t   length)  
   
  function   crc16(data_p:PBYTE;length:UINT):Byte;  
  //{  
  //     unsigned   char   i;  
  //     unsigned   int   data;  
  var  
        i:Byte;  
        data:UINT;  
        crc:UINT;  
  begin  
   
      //if   (   length   ==   0   )   return   0;  
      Result:=0;  
      if   length=0   then   exit;  
      //unsigned   int   crc   =   0xFFFF;  
      crc:=$FFFF;  
      //do  
      repeat  
      //{  
          //data   =   *data_p++;  
          data:=data_p^;  
          //for   (   i=0;   i   <   8;   i++   )  
          for   i:=0   to   8-1   do  
          //{  
          begin  
              //if   (   (crc   ^   data)   &   1   )  
              if   ((crc   xor   data)   and   1)   <>0   then  
                  //crc   =   (crc   >>   1)   ^   POLY;  
                  crc:=(crc   shr   1)   xor   POLY  
              else  
                  //crc   >>=   1;  
                  crc:=crc   shr   1;  
              //data   >>=   1;  
              data   :=   data   shr   1;  
          //}  
          end;  
          dec(length);  
      //}   while   (   --length   !=   0   );  
      until   length=0;  
   
      //crc   =   ~crc;  
      crc:=   (not   crc);  
      //data   =   crc;  
      data:=crc;  
      //crc   =   (crc   <<   8)   |   ((data   >>   8)   &   0xff);  
      crc:=(crc   shl   8)   or   ((data   shr   8)   and   $ff);  
      //return   (unsigned   short)(crc);  
      Result:=crc;  
  //}  
  end;


    摘要: 用flash 的 as 可以制作论坛吗?如果可以,怎么做?如果不可以,那么还需要什么知识? 例如asp php jsp 哪个好一些?? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE