F
flybox728
Unregistered / Unconfirmed
GUEST, unregistred user!
从一个image型字段中读取二进制数(注意:image里存的是二进制的数列不是图片),要求取出相邻的两位,i放高位,i+1放低位,组成16位,转成整数再存入数组。我用流读出image字段,stream.size=40000,最后要转成20000个整数,可能描述有点问题吧,大侠应该明白我的意思吧。vc++的代码如下:
CLongBinary* pBin = variant.m_pbinary;
DWORD len = pBin->m_dwDataLength;
Mm waveMm = zeros(1,len/2);
LPSTR buffer = (LPSTR)GlobalLock(pBin->m_hData);
for(int i = 0;i<len;i+=2)
{ short y = (byte)buffer+(((int)(byte)buffer[i+1])<<8);
waveMm.r(i/2+1) = y
}
菜鸟小弟在这里请教了,用delphi如何实现。
CLongBinary* pBin = variant.m_pbinary;
DWORD len = pBin->m_dwDataLength;
Mm waveMm = zeros(1,len/2);
LPSTR buffer = (LPSTR)GlobalLock(pBin->m_hData);
for(int i = 0;i<len;i+=2)
{ short y = (byte)buffer+(((int)(byte)buffer[i+1])<<8);
waveMm.r(i/2+1) = y
}
菜鸟小弟在这里请教了,用delphi如何实现。