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

📄 数据库开发md5算法在pb里面地完成[库库中文网]-系统编程教程 qqgb_com.htm

📁 MD5算法在PB里面地完成(html版)
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建日期:2004-05-23</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">版本号:&nbsp;&nbsp;&nbsp; v1.0.0&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">*******************************************************************/</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls_binary=''</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//检查参数</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">If IsNull(aul_decimal) Then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetNull(ls_binary)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return ls_binary</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">End If</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">Do </div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls_binary = string(mod(aul_decimal, 2)) + ls_binary</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aul_decimal = aul_decimal /2 </div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">Loop Until aul_decimal= 0</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">Return ls_binary</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end function</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_binary (long al_decimal);</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">/*******************************************************************</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">函数名称:of_binary()</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">参数:&nbsp;&nbsp;&nbsp;&nbsp; al_decimal long 数字</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">返回值:&nbsp;string 二进制字符</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">功能描述:将数字转为二进制字符</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建人:&nbsp; 康剑民</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建日期:2004-05-23</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">版本号:&nbsp;&nbsp;&nbsp; v1.0.0&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">*******************************************************************/</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">integer li_remainder</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">string ls_return='',ls_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">ulong ll_temp</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//检查参数</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">if isnull(al_decimal) then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setnull(ls_null)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ls_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//处理零</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">if al_decimal = 0 then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return '0'</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//处理负数</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">if al_decimal&lt; 0 then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_temp = abs(al_decimal)//取绝对值</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //负数的二进制码为其绝对值的二进制码前加负号</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return '-' + this.of_binary(ll_temp)//取绝对值的二进制码</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">do until al_decimal= 0</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; li_remainder = mod(al_decimal, 2)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; al_decimal = al_decimal /2&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls_return = string(li_remainder) + ls_return</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">loop</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">return ls_return</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end function</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function unsignedlong of_binarytodecimalunsigned (string as_binary);/*******************************************************************</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">函数名称:of_binarytodecimalunsigned()</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">参数:&nbsp;&nbsp;&nbsp;&nbsp; as_binary string 二进制值</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">返回值:&nbsp;unsignedlong 无符号位十进制值</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">功能描述:二进制值转成无符号位十进制</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建人:&nbsp; 康剑民</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建日期:2004-05-23(第一版)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">版本号:&nbsp;&nbsp;&nbsp; v1.0.0</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">*******************************************************************/</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">integer &nbsp;&nbsp; li_cnt</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_len,ll_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_decimal=0</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//检查参数</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">If IsNull(as_binary) then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetNull(ll_null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return ll_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">End If</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">ll_len = lenw(as_binary)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">For li_cnt = 1 to ll_len</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //只允许出现0或1</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If (Not midw(as_binary,li_cnt,1)='1') AND (Not midw(as_binary,li_cnt,1)='0') Then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return -1</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if midw(as_binary,li_cnt,1) = '1' then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_decimal = ll_decimal + (2 ^ (ll_len - li_cnt))</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">Next</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">Return ll_decimal</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end function</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function long of_decimal (string as_binary);</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">/*******************************************************************</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">函数名称:of_decimal()</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">参数:&nbsp;&nbsp;&nbsp;&nbsp; as_binary 二进制值</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">返回值:&nbsp;long 十进制值</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">功能描述:将二进制值转十进制</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建人:&nbsp; 康剑民</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">创建日期:2004-05-23</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">版本号:&nbsp;&nbsp;&nbsp; v1.0.0&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">*******************************************************************/</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">integer &nbsp;&nbsp; li_cnt</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_len,ll_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lch_char[]</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_decimal=0</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">//检查参数</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">if isnull(as_binary) then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setnull(ll_null) </div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ll_null</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">ll_len = lenw(as_binary)</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">for li_cnt = 1 to ll_len</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //只允许存在0和1字符</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (not midw(as_binary,li_cnt,1)='1') and (not midw(as_binary,li_cnt,1)='0') then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if midw(as_binary,li_cnt,1) = '1' then</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ll_decimal = ll_decimal + (2 ^ (ll_len - li_cnt))</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">next</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">return ll_decimal</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">end function</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">&nbsp;</div>
<div style="MARGIN: 0cm 0cm 0pt 21pt" align="left">public function string of_bitwisenot (string as_bitvalue);</div>

⌨️ 快捷键说明

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