1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
//Ouverture du port com
DCB dcb;
HANDLE hCom;
DWORD dwError;
BOOL fSuccess;
BOOL bResult;
DWORD dwEvtMask;
COMMTIMEOUTS tTimeout;
unsigned long nBytesRead;
char *inBuffer;
int TimeoutRead;
int i;
int NbOctet;
char c;
hCom = CreateFile(AnsiString("COM1").c_str(),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
/*----------------------------------*/
/* Définition des timeouts */
/*----------------------------------*/
TimeoutRead = 500; // timeout de 500ms
tTimeout.ReadIntervalTimeout = MAXWORD;
tTimeout.ReadTotalTimeoutMultiplier = 0;
tTimeout.ReadTotalTimeoutConstant = TimeoutRead; // pas de time out = 0
tTimeout.WriteTotalTimeoutMultiplier = 0;
tTimeout.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hCom,&tTimeout);
AnsiString code="";
nBytesRead=0;
//Lecture des données
while(!Terminated)
{
bResult = ReadFile(hCom,code.c_str(),25,&nBytesRead,NULL);
if (nBytesRead!=0) // Il existe des octets lus
{
MessageDlg(code.c_str(), mtWarning, TMsgDlgButtons() << mbOK, 0);
}
}
//Fermeture du port com
CloseHandle(hCom); |
Partager