BCB 초보 김영균입니다.
마이컴하고 통신하기 위해 시리얼 통신프로그램을
짜고 있는데..
제가 짠 함수는 다음과 같습니다.
inbuf는 시리얼 쓰레드에서 읽어들인 문자들이고
nByteRead는 읽어들인 바이트수입니다...
TMemo 에 출력을 하는데 스크롤이 되지 않아서
보이는 화면은 맨 첫부분입니다.
글자가 출력되고 있는 부분(즉 마지막 부분)이
계속 보이도록 스크롤이 자동으로 되게 하려면
어떻게 해야 하는지...
// MemoIF는 TMemo입니다...
void __fastcall TFormMain::ProcessByte(char *inbuf, int nBytesRead)
{
int i;
char Ch;
AnsiString Buffer;
for(i=0; i<nBytesRead; i++)
{
Ch=inbuf[i];
switch(Ch)
{
case 0x1B:
/* 제어코드 처리 */
break;
default:
Buffer += AnsiString( Ch );
break;
}
}
while(MemoIF->Lines->Count>500)
MemoIF->Lines->Delete(0); /* 500줄만 저장 */
MemoIF->Text = MemoIF->Text + Buffer;
MemoIF->SelStart = MemoIF->Text.Length();
}
|