求高手 Delphi 代码转 c#

cs_op 2010-06-09 10:02:52

//这是一个函数
function StrTOBcd(Str: string): string;
var
aa, n,i, Bytes: Byte;
Odd: boolean;
hex1,Hex: string;
begin
str := trim(str); //去空格和回车等特殊字符
str := stringreplace(str, ' ', '', [rfReplaceAll]);
Result := '';
Odd := Length(Str) mod 2 = 1;
Bytes := (Length(Str) + 1) div 2;
if Odd then Str := Str + '0';
for i := 0 to Bytes - 1 do
begin
Hex := Copy(Str, i * 2 + 1, 2);
//ShowMessage(chr(01));
Result := Result + chr(HexToInt(Hex));
end;
end;







//另一个
function BcdTOstr(ss: string): string;
var
i: integer;
s, s2: string;
begin
for i := 1 to length(ss) do
begin
s2 := ss[i];
s := s + BCD2Str(pchar(s2), 0, 2);
end;
result := s;
end;


function BCD2Str(P: PChar; Pos, Len: integer): string;
var
i: integer;
strResult: string;
cRead: Byte;
cReadH, cReadL: Byte;
bOdd: boolean;
begin
strResult := '';
if (Len mod 2) = 1 then
begin
Len := (Len + 1) div 2;
bOdd := true;
end else begin
Len := Len div 2;
bOdd := false;
end;
for i := 0 to Len - 1 do
begin
cRead := Ord(P[pos + i]);
cReadH := (cRead and $F0) shr 4;
strResult := strResult + IntToHex(cReadH, 1);
if (i = Len - 1) and bOdd then continue;
cReadL := cRead and $0F;
strResult := strResult + IntToHex(cReadL, 1);
end;
BCD2Str := strResult;
end;




...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
banks1983 2010-06-10
  • 打赏
  • 举报
回复
关注学习
cs_op 2010-06-09
  • 打赏
  • 举报
回复
哦 我看见了

public static byte[] convert_BCD_To_Str(byte[] srcByteArray, int startPos, int maxSize)


public static byte[] convert_Str_BCD_Left(byte[] srcByteArray, int maxSize)

参数是什么意思啊
捷哥1999 2010-06-09
  • 打赏
  • 举报
回复
看看我写的吧!
这个帖子我答复的,3楼和4楼就是你要的!

http://topic.csdn.net/u/20100607/11/f8062634-6267-4bf8-b633-c5d85f160ff2.html

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧