|
죄송^^
Count++; 가 빠졌군요...
: : tmp[Count] = FormatFloat("0.0000", f); // 이렇게 tmp[Count]에 저장했다가..
: : }
뒤에 넣으면 되겠군요..
박보연 님이 쓰신 글 :
: 고맙습니다!
:
: 그런데...
: 마찬가지 결과가 나오더라구요..
:
: 어쨌든 답변해주셔서 고맙습니다!!
:
: 즐거운 하루 보내세요~ ^^
:
: 방태윤 님이 쓰신 글 :
: : 제가 수정해 봤습니다.
: :
: : Count = 0;
: : AnsiString tmp[18];
: :
: : void TForm2::Write(Byte *ch)
: : {
: : int i;
: : float f;
: :
: : if(Count<18)
: : {
: : f = atof(ch); // Count가 1에서 18이 될 때까지는
: : tmp[Count] = FormatFloat("0.0000", f); // 이렇게 tmp[Count]에 저장했다가..
: : }
: :
: : if(Count==17) // Count가 18이 되면..
: : {
: : for(i=0; i<18; i++){
: : StringGrid1 -> Cells[1][i+1] = tmp[i]; // 스트링그리드에 한꺼번에 나타내려고 합니다.
: : }
: : Count = 0;
: :
: : }
: : }
: :
: :
: : 박보연 님이 쓰신 글 :
: : : 시리얼 통신으로 받은 데이터를 float형으로 변환시켜
: : : 스트링그리드에 나타내려고 하는데요..
: : :
: : : 아래 코드를 좀 봐주세요!
: : :
: : : //-----------------------------------------
: : : void TForm2::Write(Byte *ch)
: : : {
: : : int i;
: : : float f;
: : : AnsiString tmp[18];
: : :
: : : if(Count>=1 && Count<=18)
: : : {
: : : f = atof(ch); // Count가 1에서 18이 될 때까지는
: : : tmp[Count] = FormatFloat("0.0000", f); // 이렇게 tmp[Count]에 저장했다가..
: : : }
: : :
: : : if(Count==18) // Count가 18이 되면..
: : : {
: : : for(i=1; i<=18; i++)
: : : StringGrid1 -> Cells[1][i] = tmp[i]; // 스트링그리드에 한꺼번에 나타내려고 합니다.
: : :
: : : Count = 0;
: : : }
: : : }
: : : //-----------------------------------------
: : :
: : : 컴파일 에러는 없는데 실행 중에 에러가 생길 때 보니까..
: : :
: : : if(Count==18)
: : : {
: : : .......
: : : }
: : :
: : : 이 부분을 실행하면서 에러가 발생하는 것 같아요.
: : : ("이 프로그램에서 잘못된 연산을 수행하여 종료됩니다.")
: : :
: : : 잘못된 부분이 어디인지 알려주시면
: : : 무지무지 감사하죠~ ^^
: : :
: : : 그럼 답변 기다리겠습니다.
|