C#代码转为DELPHI代码

jiesky_2008 2014-01-13 11:08:09
请高手帮忙翻译下!谢谢!


public void SetSSRUserInfoToDat(out byte[] DataBuf, int PIN, int Privilege, string Password,
string Name, int Card, int Group, string TimeZones, string PIN2)
{
DataBuf = new byte[72];
byte[] PasswordBuf = new byte[8];
byte[] NameBuf = new byte[24];
byte[] CardBuf = new byte[4];
byte[] TimeZonesBuf = new byte[8];
byte[] PIN2Buf = new byte[24];

SSR_User ssruser = new SSR_User();

ssruser.PIN = (ushort)PIN;
ssruser.Privilege = (byte)Privilege;

PasswordBuf = System.Text.Encoding.Default.GetBytes(Password);
Array.Copy(PasswordBuf, ssruser.Password, 8);

NameBuf = System.Text.Encoding.Default.GetBytes(Name);
Array.Copy(NameBuf, ssruser.Name, 24);

CardBuf = BitConverter.GetBytes(Card);
Array.Copy(CardBuf, ssruser.Card, 4);

ssruser.Group = (byte)Group;

TimeZonesBuf = System.Text.Encoding.Default.GetBytes(TimeZones);
ssruser.TimeZones[0] = (ushort)TimeZonesBuf[0];//whether to use timezones or not (0 stands for yes,1 stands for defining by yourself)
ssruser.TimeZones[1] = (ushort)TimeZonesBuf[1];//(if you use the timezones)timezoune1
ssruser.TimeZones[2] = (ushort)TimeZonesBuf[2];//timezone2
ssruser.TimeZones[3] = (ushort)TimeZonesBuf[3];//timezone3

PIN2Buf = System.Text.Encoding.Default.GetBytes(PIN2);
Array.Copy(PIN2Buf, ssruser.PIN2, 24);

Array.Copy(Raw.RawSerialize(ssruser), DataBuf,72);
}
...全文
667 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjianhg 2014-08-26
  • 打赏
  • 举报
回复
其实就是中控考勤机的开发包,把用户信息写入user.dat文件中
风中的猴尾巴 2014-01-17
  • 打赏
  • 举报
回复
直接说要求还简单点
arSavior 2014-01-16
  • 打赏
  • 举报
回复
楼主最好做点说明或者注释,不然我真心没看懂啊
Frank6600 2014-01-15
  • 打赏
  • 举报
回复
sololie 2014-01-14
  • 打赏
  • 举报
回复
放弃吧骚年,你还不如直接说想实现什么功能,然后自然有人给你用delphi写出来,搞什么翻译。
sololie 2014-01-14
  • 打赏
  • 举报
回复
jiesky_2008 2014-01-14
  • 打赏
  • 举报
回复
是的,翻译真的是很不好做,所以我根据自已的想法重新用DEPHI写,运行的结果跟C#一样,算是搞定了。
jiesky_2008 2014-01-13
  • 打赏
  • 举报
回复
class SSR_User { public ushort PIN; public byte Privilege; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public byte[] Password = new byte[8]; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)] public byte[] Name = new byte[24]; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public byte[] Card = new byte[4]; public byte Group; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ushort[] TimeZones = new ushort[4];//the timezones that the user can use [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)] public byte[] PIN2 = new byte[24]; }
smhilyyan 2014-01-13
  • 打赏
  • 举报
回复
SSR_User结构的定义呢?

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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