谁可以帮我把DELPHI代码,传换成C#的啊。谢谢

qiuzhijun qiuzhijun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
DELPHI代码如下:
procedure TForm1.Button8Click(Sender: TObject);
var
s:string;
i,j,start,len:integer;
buff:array[0..63] of byte;
begin
s:='';
start:=combobox7.ItemIndex or (combobox6.ItemIndex shl 8);//1、这句里的or是什么意思?
len:=strtoint(combobox8.Text);
buff[0]:=combobox5.itemindex;

for i:=1 to 6 do begin
try
buff[i]:=strtoint('$'+copy(edit14.Text,i*2-1,2));//这一句转换进制,在C#里怎么写啊?edit14.Text="FFFFFFFFFFFF"
except
beep;
messagebox(handle,'数据错误!','提示信息',16);
edit14.SetFocus;
exit;
end;
end;
i:=readic(start,len,@buff[0]);//调用外部的DLL,详细看下面的调用说明
if i=0 then
for j:=0 to len-1 do
s:=s+inttohex(buff[j],2);//这一句C#怎写啊。
edit21.Text:=s;
SHOWMESSAGE('Result: '+inttostr(i));
end;


调用说明:
int ReadIC(unsigned int start, unsigned int len, unsigned char *str);//C#怎样声明外部DLL的这个函数啊。
参数:
start [in]:起始地址,指定数据写的位置。对于Mifare卡(Adel9200),起始地址由两字节组成:高字节为块号,低字节为区号。如0x0102表示读取2区1块。
Len [in]:要读取数据的长度。对于Mifare卡(Adel9200)长度为16的整数倍。
str [in,out]:无符字符指针,接收所读取的数据。对于Mifare卡(Adel9200)同时作为输入参数传入所读区的授权密码,由7个字节组成:第一个字节为授权码:若为0需核对A密码,若为1需核对B密码,后6个字节为密码。
...全文
评论 16
收藏 已收藏
分享
返回顶部
qiuzhijun
C# 111,128 成员 642,536 内容