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
[13003] Re:Re:Re:Re:Re:[질문] 다시 실행시켜 봤는데요...
아리랑 [] 1086 읽음    2001-11-22 22:54
죄송합니다. 이번 페이지는 거의 제가 도배를 했군요.

AnsiString tmp[18]; // <== 이부분에 문제 있습니다. 매번 호출때마다 새로생성하기때문에 실제 출력하는 18번째 호출에는 다른건 다 Empty상태고 17번째만 값이 들어가 있는상태입니다.

static AnsiString tmp[18];  <== 이렇게 바꾸시거나 아니면 다음과 같이 요약이 가능합니다.
//---------------------------------------------------------------------------
void TForm1::Write(Byte *ch, long len)
{
    float f = atof(ch);
    // 죄송합니다. 전 Indent가 되는걸 싫어해서 아래와같은 형식의 조건문을 즐겨씁니다.
    if(Count < 1 || 18 < Count) return;
    StringGrid1 -> Cells[1][Count] = FormatFloat("0.0000", f);
    if(Count == 18) Count = 0;
}
//---------------------------------------------------------------------------
Count라는 변수의 Name 특성상 거의 1부터 시작하겟지요? 그러나 배열에선 0부터 시작해야 합니다. 따라서 복잡한 이 함수에선 사실상 필요없는 tmp에 저장하는 부분을 빼버렸습니다. 물론 AnsiString 배열공부를 위한, 또는 모든작업을 종료했을시 한꺼번에 출력하기 위하여 임의로 만든거라면 이야기가 틀려집니다.


박보연 님이 쓰신 글 :
: 답변 감사합니다.
:
: 다시 실행시켜 봤는데요.. 스트링그리드에 아무 값도 나타나지 않는 것이 아니라
: Cells[1][18]에만 값이 나타납니다. 제가 잘못보고... 죄송~ ^^
:
: 아래 코드에 잘못된 부분이 없는지 다시 한번 봐주시겠어요?
: 부탁드립니다.
:
: 그럼.. 편안한 밤 보내세요~ ^__^
:
: //---------------------------------------------------------------------------
: void TForm1::Write(Byte *ch, long len)
: {
:   int i;
:   float f;
:   AnsiString tmp[18];
:
:   if(Count>=1 && Count<=18)
:   {
:      f = atof(ch);
:      tmp[Count-1] = FormatFloat("0.0000", f);
:
:      if(Count==18)
:      {
:         for(i=1; i<=18; i++)
:            StringGrid1 -> Cells[1][i] = tmp[i-1];
:
:         Count = 0;
:      }
:   }
: }
: //---------------------------------------------------------------------------

+ -

관련 글 리스트
12990 [질문] 스트링그리드에 관한 질문인데요... 박보연 1140 2001/11/22
12999     Re:[질문] 스트링그리드에 관한 질문인데요... 방태윤 1011 2001/11/22
13016         Re:Re: 고맙습니다! 그런데... 박보연 773 2001/11/23
13026             Re:Re:Re: 고맙습니다! 그런데... 방태윤 827 2001/11/23
12992     Re:[질문] 스트링그리드에 관한 질문인데요... 아리랑 882 2001/11/22
12995         Re:Re:[질문] 프로그램은 실행이 되는데... 박보연 868 2001/11/22
12996             Re:Re:Re:[질문] 프로그램은 실행이 되는데... 아리랑 839 2001/11/22
13000                 Re:Re:Re:Re:[질문] 다시 실행시켜 봤는데요... 박보연 836 2001/11/22
13003                     Re:Re:Re:Re:Re:[질문] 다시 실행시켜 봤는데요... 아리랑 1086 2001/11/22
13015                         Re:Re:Re:Re:Re:Re: 고맙습니다~ ^^ 박보연 850 2001/11/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.