C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[43847] Re:Re:답변 감사합니다^^
★래미★ [jackey9] 1378 읽음    2006-02-27 20:28
답변 감사드립니다. (__)
외랑님 말씀대로 재귀적 형태로 되는 것 같아요.  쓰려고 준비중에(?) change 함수로 들어오다가 라인을 삭제하고 돌아가면 이전 정보랑 틀려서 그런가바요 ㅡㅜ
할수없이 외랑님 하신 것과 비슷한 방법으로 다른 함수를 추가해서 쓰고 지우고를 한 함수에서 하도록 자체 해결했네요~~ 신경 써 주셔서 감사합니다^^


외랑 님이 쓰신 글 :
: 그냥 제 생각에는 Change루틴에 판단을 걸어놓는 것은 자신이 자신을 부르는 재귀적 형태가 되어 버려서 그런듯 하다는 생각이 듭니다. (정확한 답은 저도 모르겠습니다)
: 간단하게 이렇게 하시는 것은 어떨까요? Add를 직접 호출하시지 말고.. 함수를 하나 거쳐서 추가되도록 하고 추가할 때 지우지않고 추가할 수 있는지 확인해 보는 겁니다... 예를 들어보이면 아래와 같습니다.
: 간단하지요? Add를 직접적으로 사용하신 곳을 AddRec로 대체하시면... 될듯..
: //---------------------------------------------------------------------------
: void __fastcall TForm1::BitBtn1Click(TObject *Sender)
: {
:     for(int i=0; i<5; i++) AddRec(i);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::AddRec(AnsiString AddStr)
: {
:    if(RichEdit1->Lines->Count > 6)   RichEdit1->Lines->Delete(0);  // 6개이상이면 처음 하나 지우고
:    RichEdit1->Lines->Add(AddStr);  // 하나 추가
: }
: //---------------------------------------------------------------------------
:
:
:
: ★래미★ 님이 쓰신 글 :
: : 안녕하세요.
: : RichEdit 에서 라인 삭제가 잘 안되어 질문 올립니다.
: : 몇 라인 이상이 되면 맨위에서부터 삭제하고 싶은데요.(overflow 문제때문에요)
: : RichEdit1->Lines->Delete(0);
: : 이렇게 하는데..  RichEdit line insertion error 라고 오류가 나네요.
: : Delete랑 Add가 충돌난거 같은데 어떻게 해결해야 할지 알려주시면 감사하겠습니다.
: : 아니면.. RichEdit1Change 이 이벤트에 하는게 잘못된것인지;;;
: :
: : RichEdit1Change이벤트에 넣지 않고 Button1Click에서 삭제하면 잘 됩니다.
: : 그런데, 실제 코딩에서는 RichEdit1에 Add 하는 부분이 여기 저기 흩어져 있어요.
: :
: : 또는... overflow 문제를 해결할 더 좋은 방법을 알려주세요 ㅠㅠ
: :
: :
: :
: : void __fastcall TForm1::RichEdit1Change(TObject *Sender)
: : {
: :     while(RichEdit1->Lines->Count > 6)
: :         RichEdit1->Lines->Delete(0);
: : }
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: :     for(int i=0; i<5; i++)
: :         RichEdit1->Lines->Add(i);
: : }
: : //---------------------------------------------------------------------------

+ -

관련 글 리스트
43840 [질문] RichEdit 에서 라인 삭제 방법 좀 알려주세요 ★래미★ 2653 2006/02/27
43846     Re:[질문] RichEdit 에서 라인 삭제 방법 좀 알려주세요 외랑 3054 2006/02/27
43847         Re:Re:답변 감사합니다^^ ★래미★ 1378 2006/02/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.