21-01-2009, 14:35
|
|
|
חבר מתאריך: 06.11.04
הודעות: 226
|
|
לא ידעתי שאפשר :)
אני עובד עם סימולטור של דוס בשם בורלנד ולא הצלחתי להבין שם את הדבאגר...
קוד:
void chat()
{
char SendMessage[200], ReceivedMessage[200];
int SendInd = 0, ReceivedInd = 0;
char ch;
while(DSRisON()) //
{
if(kbhit())
{
ch = getch();
if(ch == ESC)
{
while(!TSRE()); // מחכים עד שהרגיסטטר הזה יהיה ריק
DTRoff();
break;
}
WriteInTop(ch);
if(ch == '~')
{
// ConfinChange();
SendInd = 0;
ReceivedInd = 0;
}
SendMessage[SendInd++] = ch;
while (!THRE()); // מחכה עד השרגיסטר יהיה פנוי
if(ch == ENTER)
{
for(int i=0;i<SendInd; ++i)
outp(THR, SendMessage[i]); // שולחים את הנתונים לרגיסטר שממנו זה יודפס
SendInd = 0;
}
}
else if(DRis1()) // תו התקבל
{
ch = inp(RBR);//מקבלים את התו הזה
ReceivedMessage[ReceivedInd++]=ch;
if (ch == ENTER)
{
for(int i=0; i< ReceivedInd; ++i)
WriteInBottom(ReceivedMessage[i]);
ReceivedInd = 0;
}
checkERROR(inp(LSR));
}
else if(CTSisON())
{
// ConfinChange();
SendInd = 0;
ReceivedInd = 0;
}
}
}
|