给你两个通用函数:
Procedure StrToByteS(const Str:String;var NameArr :Array of byte);
var I,J :Integer;
Begin
FillChar(NameArr,high(NameArr)+1,0);
if length(Str) >high(NameArr) then J :=high(NameArr)
else J :=length(Str);
For I:=1 to J do NameArr[I-1]:=byte(Str[I]);
End;Function ByteToStr (NameArr :Array of byte):String;
var I:Integer;
S:String;
Begin
Setlength(S,High(NameArr)+1);
For I:=Low(NameArr) to High(NameArr) do S[I+1]:=Char(NameArr[I]);
Result :=Pchar(S);
End;
Procedure StrToByteS(const Str:String;var NameArr :Array of byte);
var I,J :Integer;
Begin
FillChar(NameArr,high(NameArr)+1,0);
if length(Str) >high(NameArr) then J :=high(NameArr)
else J :=length(Str);
For I:=1 to J do NameArr[I-1]:=byte(Str[I]);
End;Function ByteToStr (NameArr :Array of byte):String;
var I:Integer;
S:String;
Begin
Setlength(S,High(NameArr)+1);
For I:=Low(NameArr) to High(NameArr) do S[I+1]:=Char(NameArr[I]);
Result :=Pchar(S);
End;
解决方案 »
- 请各位求翻译以下文章,小弟在此深表感谢!
- 向Excel的一个单元格中输入数据时,怎么实现数据的多行显示!!
- windows 服务程序(service application)调用Dll文件的问题
- 求助:DELPHI排班控件
- 如何将鼠标控制在一定范围内?
- 请指教:如何定义变量,得到数据类型为decimal的字段的值?
- 如何把系统返回的日期和数据库的返回值的两边的空格去掉?
- 关于fastreport2.4的一个小问题,在线等,,
- 超级难题非超级软件高高手勿进
- 请问大哥大姐,学delphi6用delphi5的书可以吗?(初学)
- 关于在applyupdates如何定义自己的sql来更新数据库
- 如果把一个文件(*.*) 写入数据库并在需要的时候读出来恢复成一个文件。(Delphi+Sql Server)
var
iResultValue:integer;
strEdit:String;
i:integer;
begin
strEdit:=Edit1.Text;
iResultValue:=0;
i:=0;
while (Length(strEdit)>0) do
begin
if strEdit[Length(strEdit)]<>'0' then
inc(iResultValue,Round(Power(2,i)));
strEdit:=copy(strEdit,1,Length(strEdit)-1);
inc(i);
end;
end;iResultValue就是转换后的整数。