2020̼˶ܣ
1̫Ҫ˻⣬Ҫں绰ʱжϱзժ
2̼ţ
   λֻҪһ̼յԼš

   λdemoֻwindows汾˹̼ţֻмУܼ򵥣οwindows demo

//2020.6ֹ̼֧̼ţڣ߼ʵϾǹ̼----Ժܻ
void __fastcall TGoodtelDevice::WriteCommandAdvanced(char DeviceIndex, unsigned char command, String s)
{
    unsigned char buffer[512];
    DWORD BytesWritten;
    int i,len;

    buffer[0]=0x55;  buffer[1]=0xAA;    buffer[2]=0x66;  buffer[3]=0xBB; buffer[4]=command;
    //C++Builderַ浽buffer
    len = s.Length();
    for (i=0; i<len; i++) buffer[5+i] = s[i+1];
    buffer[5+len] = 0;
    //̼ֲ֧ȱʡV,L,B
    buffer[6+len] = 'V';    buffer[7+len] = 24;                        //=24
    buffer[8+len] = 'L';    buffer[9+len] = 128;    buffer[10+len] = 0;//ĳ=128 + 0 * 256; ---- ˫ֽunsigned intλ
    buffer[11+len] = 'B';   buffer[12+len] = 24;                       //ƫõѹĬ24

    if (ErrorDevice[DeviceIndex]==0) {
        SetFilePointer(DeviceSTA[DeviceIndex] ,0,NULL,FILE_BEGIN);
        if (!WriteFile(DeviceSTA[DeviceIndex] ,buffer, 512, &BytesWritten, NULL)) ReportError(DeviceIndex,"Error while write command.");
    }
}

//̼
char __fastcall TGoodtelDevice::FirmwareDial(char DeviceIndex,String phone)
{
    if (offhook[DeviceIndex]) {
        if (AllNumber(phone)) WriteCommandAdvanced(DeviceIndex,255,phone);else return 0;
        return 1;
    } else return 0;
}