Kód: Vybrať všetko
http://www.kar.elf.stuba.sk/predmety/ap/blok3.phpPotreboval by som poradit, ako mam prijimat text, malo by to byt nieco, ako pri prijimani 1 pismena, ale v cykle, pokym neprijme napriklad "*". Moja funkcia:
- void receivedFromPort()
{
int limit=0; // prijaty aspon jeden znak
DWORD Pocet=0; // Pocet prijatých dát
char Data=0; // Sem uloz prijatý znak
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole,10);
printf("Recieved: ");
do
{
PurgeComm(hCom,PURGE_TXCLEAR | PURGE_RXCLEAR);
ReadFile(
hCom, // Handle portu, z ktorého cítame
&Data, // Pointer na buffer, kam ukladáme prijaté dáta
1, // Pocet bytov, na ktoré cakáme
&Pocet, // Pointer na skutocný pocet prijatých dát
NULL); // Musí byt NULL
// Funkcia ReadFile tu teraz caká, az kým nieco nepríde,
// ale môze aj skoncit bez zachyteného znaku, ak medzitým vyprsia timeouty.
if(Pocet==1)
{
printf("%c",Data);
limit==1;
}
//skonci az ked prijmeme aspon jeden znak a vyprsi timeout
}while((limit!=1&&Pocet!=1)||(limit==1&&Pocet==1));
printf("\n");
Daco som aj skusal, ale neslo mi to a sam na to neviem prist.
Vopred dakujem