J jierxrh Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #1 C#转化成DELPHI代码如下: int nUSBDataLen; byte[] pbuf; nUSBDataLen = B_GetUSBBufferLen() + 1; pbuf = new byte[nUSBDataLen]; B_EnumUSB(pbuf); B_CreateUSBPort(1);
C#转化成DELPHI代码如下: int nUSBDataLen; byte[] pbuf; nUSBDataLen = B_GetUSBBufferLen() + 1; pbuf = new byte[nUSBDataLen]; B_EnumUSB(pbuf); B_CreateUSBPort(1);
舞 舞雪 Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #2 nUSBDataLen: integer;pBuf: array of byte;nUsbDataLen := B_GetUSBBufferLen() + 1;//函数pBuf := SetLength(nUSBDataLen);B_EnumUSB(pBuf);//函数B_CreateUSBPort(1);//函数
nUSBDataLen: integer;pBuf: array of byte;nUsbDataLen := B_GetUSBBufferLen() + 1;//函数pBuf := SetLength(nUSBDataLen);B_EnumUSB(pBuf);//函数B_CreateUSBPort(1);//函数
Z zhengrong117 Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #3 楼上的pBuf := SetLength(nUSBDataLen);改成setlength(pBuf,nUSBDataLen)
X xianjun Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #4 C#跟Delphi不是差不多吗,不怎么要转化的。var nUSBDataLen: Integer; pbuf: array of byte;begin nUSBDataLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUSBDataLen); B_EnumUSB(pbuf); B_CreateUSBPort(1); end;
C#跟Delphi不是差不多吗,不怎么要转化的。var nUSBDataLen: Integer; pbuf: array of byte;begin nUSBDataLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUSBDataLen); B_EnumUSB(pbuf); B_CreateUSBPort(1); end;
J jierxrh Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #5 多谢各位,动作挺快啊!var nUSBDataLen: Integer; pbuf: array of byte;begin nUSBDataLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUSBDataLen); B_EnumUSB(pbuf); B_CreateUSBPort(1); end;这样不行,打印3个以内行,3个以外就自动退出程序pbuf = new byte[nUSBDataLen];这个是给 pbuf字节数组分配内存空间我刚刚才看到一个,DELPHI分内存空间单。好像是这样,还没测试打印机,下午看看行不行var pbuf: string;nUsbLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUsbLen); FillChar(Pointer(pbuf)^, nUsbLen, 0); B_EnumUSB(pbuf); B_CreateUSBPort(1);
多谢各位,动作挺快啊!var nUSBDataLen: Integer; pbuf: array of byte;begin nUSBDataLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUSBDataLen); B_EnumUSB(pbuf); B_CreateUSBPort(1); end;这样不行,打印3个以内行,3个以外就自动退出程序pbuf = new byte[nUSBDataLen];这个是给 pbuf字节数组分配内存空间我刚刚才看到一个,DELPHI分内存空间单。好像是这样,还没测试打印机,下午看看行不行var pbuf: string;nUsbLen := B_GetUSBBufferLen() + 1; SetLength(pbuf, nUsbLen); FillChar(Pointer(pbuf)^, nUsbLen, 0); B_EnumUSB(pbuf); B_CreateUSBPort(1);
X xianjun Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #6 SetLength(pbuf, nUsbLen); 就是分配内存。下面这句是把分配到的内存用#0初始化:FillChar(Pointer(pbuf)^, nUsbLen, 0);
J jierxrh Unregistered / Unconfirmed GUEST, unregistred user! 2010-04-27 #7 那如果我要填空地址呢?是不是FillChar(Pointer(pbuf)^, nUsbLen, null); 这样啊