|
어떻게 해서 됐는지는 모르겠습니다.
여하튼 정성훈님의 도움으로 처리를 하였습니다.
아래와 같이 했더니 동작합니다.
도움에 감사드립니다.
void __fastcall TForm1::IdTelnet1DataAvailable(AnsiString Buffer)
{
int Start, Stop;
if(RichEdit1->Lines->Count==0) {
RichEdit1->Lines->Add("");
}
Start = 1;
Stop = Buffer.Pos(CR);
if (Stop == 0)
Stop = Buffer.Length() + 1;
while (Start <= Buffer.Length()) {
RichEdit1->Lines->Strings[RichEdit1->Lines->Count-1] =
RichEdit1->Lines->Strings[RichEdit1->Lines->Count-1] + Buffer.SubString(Start, Stop-Start);
SendMessage(RichEdit1->Handle,WM_VSCROLL, SB_BOTTOM, 0);
RichEdit1->SetFocus();
SendMessage(SendCmd->Handle, WM_KEYDOWN, VK_DOWN,1);
Start = Stop +1;
if (Start > Buffer.Length()) { break; }
if (Buffer[Start] == LF) {
Start = Start +1;
}
Stop = Start;
while ((Buffer[Stop-1] != CR) && Stop <= Buffer.Length())
Stop = Stop +1;
}
}
|