当前位置: 代码迷 >> Delphi >> 【面试题目】成败在此一举 Delphi转换c# 求高手,该如何处理
  详细解决方案

【面试题目】成败在此一举 Delphi转换c# 求高手,该如何处理

热度:9584   发布时间:2013-02-25 00:00:00.0
【面试题目】成败在此一举 Delphi转换c# 求高手
先大概说说我的面试情况,本来是骑驴找马,本周一公司给我打电话让去面试没太在意,第二天又打电话来问。大概了解一下情况还不错,就去面试了,那人是个搞技术的,开始去很是热情,见面到面试完毕主动和我握手 三次 真不容易啊有点小感动,他大概问一些技术方面的,聊了一些项目经验,没有笔试这点还挺不错的。最后问我socket会不,这个我还真不会就如实说了,我感觉有点完了可能他们主要做这方面的吧。走的时候说是在周末之前给我回话。。。。接着就是等待,星期四上午打来电话说是让我做一个socket server client 这样的东东,星期五能做完就去公司,完不了下周了。然后我就疯狂的baidu,google终于在周五上午完成了,就又去面试了,拿去做的东西就一个简单的server,client好像不符合他的要求,又感到要被pass了。。。还好他说要找个人,把现有的系统(用Delphi写的)改成c#,这个项目完了后面还能做开发的,就给我一个dll,明天要去公司要实现一个小功能,成败在此一举!!!


现在有一个dll(应该硬件厂商,我要做的是针对硬件的开发。。。),应该是Delphi写的,他已经用Delphi实现了,让我明天去公司用c#实现一个小的功能,求高手成败在此一举!!!


Delphi(Pascal) code
//这个是调用 ****.dll 为了保密我就用*代替那个dll了,谁要可以传给你function NET_DVR_Login_V30(sDVRIP: PChar;                            wDVRPort: Word;                            sUserName: PChar;                            sPassword: PChar;                            lpDeviceInfo: LPNET_DVR_DEVICEINFO_V30):  Longint ;stdcall;external '****.dll'type  NET_DVR_DEVICEINFO_V30 = record    sSerialNumber: Array[0..SERIALNO_LEN-1] of BYTE;    byAlarmInPortNum: BYTE;    byAlarmOutPortNum: BYTE;    byDiskNum: BYTE;    byDVRType: BYTE;    byChanNum: BYTE;    byStartChan: BYTE;    byAudioChanNum: BYTE;    byIPChanNum: BYTE;    byRes1: Array[0..24-1] of BYTE;  end {NET_DVR_DEVICEINFO_V30};    ds: NET_DVR_DEVICEINFO_V30;   var bRet: LongBool;//这个就是实现的小功能   bRet := NET_DVR_Init();    lUserID := NET_DVR_Login_V30('192.168.1.160', 8000, 'admin', '12345', @ds);    NET_DVR_SetAlarmOut(lUserID,0,1);



C# code
//以上代码怎么才能转换成c#的呢?,还有一个Delphi 的dll





------解决方案--------------------------------------------------------
Delphi不是很熟,帮你顶一下
------解决方案--------------------------------------------------------
现顶下吧
------解决方案--------------------------------------------------------
做个记号,我去写一下。
------解决方案--------------------------------------------------------
到delphi版块区看。伴水和那个谁来着,都是delphi和.net的高手。
------解决方案--------------------------------------------------------
贵在学习!!
------解决方案--------------------------------------------------------

C# code
public struct NET_DVR_DEVICEINFO_V30{        byte byAlarmInPortNum;        byte byAlarmOutPortNum;        byte byDiskNum;        byte byDVRType;        byte byChanNum;        byte byStartChan;        byte byAudioChanNum;        byte byIPChanNum;        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 23)]           public byte[] byRes1 ;          [MarshalAs(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN - 1)]           public byte[] sSerialNumber ;             }
  相关解决方案