在DELPHI里,把十六进制字符变成二进制的是否用这个HEXTOBIN函数能完成也就是将:‘FF’变成‘11111111’的二进制字符串的形式,如果是的话能否举个例子。
解决方案 »
- 初学。连数据库报错
- AdoDataset 重新open后 字段设定的DisplayLabel和OnChange事件都丢失了
- acm控件能设置 自动应答吗
- 求一个ComboBox的刷新问题
- 我已经用 OLEMain.CreateObject的方法生成了OLE对象,如何调入存在的Word文件呢?
- 在数据库sql server 里float 类型的数据(例如:34.56)为什么在dbgrid里显示时变成了34.459797
- 在线请教:关于TClientDataSet的问题
- 怎样使DBgrid具有下拉列表功能?
- 新增資料時出現 record/key delete 錯誤
- flatstyle的flatHit如何使用?
- 119急救请教高手
- 我如何在delphi中真接控制word 文档的上下滚动???
function StrToNum (s: string; base: Integer; neg: Boolean; max: Integer): Int64;
var
c:Char;
iCount,iTemp:Integer;
begin
Result:=0;
s:=UpperCase(Trim(s));
if s='' then exit; if s[1]='+' then
Delete(s,1,1)
else if s[1]='-' then
begin
Neg:=true;
Delete(s,1,1);
end
else if s[1]='1' then
begin
if (Base=2) and Neg then
begin
Neg:=true;
Delete(s,1,1);
end
else
Neg:=false;
end
else
Neg:=false; s:=ReverseString(s);
iTemp:=0;
for iCount:=1 to Length(s) do
begin
c:=s[iCount];
Case c Of
'0'..'9':iTemp:=Ord(c)-48;
'A'..'Z':iTemp:=Ord(c)-55;
else Break;
end;
if iTemp>=Base then Break;
Result:=Result+Round(iTemp*Power(Base,(iCount-1)));
end;
if Neg then Result:=Result*(-1);
end; function NumToStr (num, len, base: Integer; neg: Boolean; fill: char): string;
var
s: string;
digit: Integer;
begin
num:= ABS (num);
if ((base >= 2) and (base <= 36)) then
begin
s:= '';
repeat
digit:= num mod base;
if digit < 10 then
Insert (CHR (digit + 48), s, 1)
else
Insert (CHR (digit + 55), s, 1);
num:= num div base;
until num = 0;
if neg then Insert ('-', s, 1);
while Length(s) < len do Insert (fill, s, 1);
end;
Result:= s;
end;
var
sTemp:String;
iTemp:Integer;
begin
Result:='';
While sHex>'' do
Begin
sTemp:=Copy(sHex,1,1);
Delete(sHex,1,1); iTemp:=StrToNum(sTemp,16,false,MaxInt);
Result:=Result+NumToStr(iTemp,4,2,false,'0');
end;
end;