|
안녕하세요. heredity입니다.
SelStart를 사용하신걸로 봐선 Memo1의 마지막에 자료를
추가하시려고 하는 것 같은데
사용자가 Memo1에 Block울 설정 할 수도 있으니 SelEnd를 0으로
설정하는 작업이 필요하겠습니다.
그리고 선택된 구역(Text)을 치환하기 위해선
void __fastcall SetSelTextBuf(char * Buffer);
를 사용해야 한답니다. ^_^;;
&
ESC 처리는 하지 않았으니 필요하시면 추가해서 사용하세요.
행복하세요.
// nBytesRead가 inbuff의 경계를 벗어나지 않도록 검사하세요.
inbuff[nBytesRead] = '\0';
// Memo1에 결과 추가.
// 수신된 Buffer에 ESC가 있는지 확인하려면 strchr() 또는 StrScan()등을 이용하십시오
// (여기선 사용하지 않았음).
Memo1->SelStart = Memo1->Lines->Text.Length();
Memo1->SelLength = 0;
Memo1->SetSelTextBuf( inbuff );
// Memo1의 결과가 10줄을 넘지 않도록 하였습니다.
while( Memo1->Lines->Count > 10 ) {
Memo1->Lines->Delete(0);
}
--------------------------------------------
빌더좋아 님이 쓰신 글 :
: 안녕하십니까..
: 꽃셈추위기 대단하군요..님들 모두 감기 조심하세요..^^;;
:
: 다름이 아니라..아스키 코드로 들어오는데이터를 메모장에
: 표시하려구 하는데요...
: 문자를 아스키로 보내고 있는데..메모장에 원 데이터와 같이
: 표시하려구..하는데..이런이런..완전히 작살~~
:
: int i ;
: char Ch;
:
: for (i=0; i < nBytesRead; i++){
: Ch=inbuff[i];
: switch (Ch){
: case 0x1b:
: break;
: default:
: if(Memo1->Lines->Count > 3)
: Memo1->Lines->Delete(0);
: Memo1->Text = Memo1->Text + Ch;
: Memo1->SelStart = strlen(Memo1->Text.c_str());
: break;
:
: 이와같이 코딩을 했는데...데이터가 완전히 깨져가꼬.ㅋㅋ
:
: GG~nn^/?.~~~wo~w./_n/o~/n?/N/o?o//g.oG^Ng~o..~oW//N.^GW.g/./.>GGoN
:
: 요런식으로 깨져서 들어옵니다...
:
: 코딩 부분에서 잘못됬다구 생각하는데...전문가님들의 조언 부탁합니다..
: 감기 조심하시구요..
: 이상
:
:
|