007
25.04.2004, 17:42 Uhr
~jma
Gast
|
Moin bei mir funktioniert das nun wunderbar, hab den Code von FloSoft übernommen und erhalte sauber meinen String; hier mal den kompletten Code
C++: |
float* CWTabelleDLG::getCommMscomm1() { CString InString,tmp; char buffer[200]; int i,j; j=0;
if (m_out.GetInBufferCount() !=0) // Warten, bis Daten empfangen wurden. { m_out.GetProperty(0x1a, VT_BSTR, (void*)&InString); sprintf( buffer , "%s", InString ); for(i=0;i<nCL;i++) { if(!strcmp(wCL[i],"Xus")) dWert[i] = mid(buffer, 10+13, 6); if(!strcmp(wCL[i],"Yus")) dWert[i] = mid(buffer, 16+13, 6); if(!strcmp(wCL[i],"Zus")) dWert[i] = mid(buffer, 22+13, 6); if(!strcmp(wCL[i],"Ev")) dWert[i] = mid(buffer, 10+13+32, 6); if(!strcmp(wCL[i],"x")) dWert[i] = mid(buffer, 16+13+32, 6); if(!strcmp(wCL[i],"y")) dWert[i] = mid(buffer, 22+13+32, 6); if(!strcmp(wCL[i],"u")) dWert[i] = mid(buffer, 16+13+64, 6); if(!strcmp(wCL[i],"v")) dWert[i] = mid(buffer, 22+13+64, 6); if(!strcmp(wCL[i],"Tcp")) dWert[i] = mid(buffer, 16+13+96, 6); if(!strcmp(wCL[i],"du")) dWert[i] = mid(buffer, 22+13+96, 6); } } else for(i=0;i<nCL;i++) dWert[i] = -0; return dWert; }
|
Port Öffnen:
C++: |
m_out.SetCommPort(pCL); // pCL ist die portnummer m_out.SetSettings("9600,E,7,1"); m_out.SetPortOpen(TRUE);
|
besten danka nochmal für eure hilfe jmA |