You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
1.5 KiB
C++

#include "global.h"
#include <stdio.h>
#include <string.h>
int isComPort(char * pPort)
{
int iLen;
if (!pPort)
{
return -1;
}
iLen = strlen(pPort);
if ((iLen >6) || (iLen <4))
{
return -2;
}
if ((pPort[0] != 'c') && (pPort[0] != 'C'))
{
return -3;
}
if ((pPort[1] != 'o') && (pPort[1] != 'O'))
{
return -4;
}
if ((pPort[2] != 'm') && (pPort[2] != 'M'))
{
return -5;
}
if ((pPort[3] < 0x31) || (pPort[3] > 0x36))
{
return -6;
}
for (int i = 4; i<iLen; i++)
{
if ((pPort[i] < 0x30) || (pPort[i] > 0x39))
{
return -7;
}
}
return 0;
}
int isBaudRate(int baud)
{
int iRet = -1;
switch (baud)
{
case 1200:
case 2400:
case 4800:
case 9600:
case 19200:
case 38400:
//case 57600:
case 115200:
iRet = 0;
break;
default:
break;
}
return iRet;
}
int QStringToChar(char * dest,QString & Qsource, int iLen,int isChange)
{
QByteArray ba2;
char * ptr;
int nextlen;
if(Qsource.length() == 0)
{
return 0;
}
if( 0 == isChange)
{
ba2 =Qsource.toLocal8Bit();
}
else if(1 == isChange)
{
ba2 = Qsource.toUtf8();
}
else
{
ba2 =Qsource.toLatin1();
}
ptr=ba2.data();
nextlen =strlen(ptr);
if(iLen <= nextlen)
{
return -1;
}
strcpy(dest, ptr);
return 0;
}