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
[60535] Re:Re:Re:StringGrid1
한수동 [hsd1987] 1478 읽음    2010-03-21 22:09
제가 초보라 완벽하지는 않지만 답변을 드리겠습니다

제 생각에는
if(tmpTok=="\"\"")   StringGrid1->Cells[i][s] = "";
else                         StringGrid1->Cells[i][s] = tmpTok;

이런식으로 하시면 될것 같아요
물론 "" 이 부분이 띄어쓰기가 앞뒤로 있을수도 있고 중간에 있을수도 있는 경우도 생각해야 겠지만요
제가 말씀드리고자 하는 것은 if문을 쓰시는 것이 어떤지 말씀드리는 겁니다

다른 방법으로는 strtok(byBuffer,"\",") 이런식으로 " 도 구분자에 포함시키셔서 tmpTok 이 NULL 일경우
빈 내용을 넣으시는 그런 방법도 있는 것 같습니다 물론 여러가지 상황도 고려하셔야 겠지만요;

이상 허접한 답변이었습니다;;



이성현 님이 쓰신 글 :
: 원래는  TXT파일을 1,0x01,,Software RESET (0x01)식으로 만들어서 읽어 드렸습니다.
: 한줄을 읽어  tmpTok = strtok(byBuffer,",");으로 ,를 기준으로 잘라 줍니다.
: 그런데 ,,부분에 아무런 문자가 없으면 뒤에 Sotfware REST(0x01)이 3번째 줄에 나타나야 되는데
: ,,부분이 생략되어 2번째 줄에 써지게 됩니다.
:
: 그래서 예전에 다른분이 했던걸 csv파일을 열어 봤더니  1,0x01,"",Software RESET (0x01)
: 이런식으로 ,,  -> ,"",로 처리 되어 있더군요.
: 엑셀로 읽었을시에는 ,"",부분이 아무문자가 없는 것처럼 표시되더군요.
: 메모장으로 읽어 들이면  ,"",이 있습니다.
: 그리고 StringGrid1에 읽어보면 처음질문했던 글에 첨부 그림파일 처럼 표시됩니다.
: ,,  -> ,"",를 어떻게 처리해야 될지 난감해서 질문드린 겁니다.
:
:
:
:
:
: 크레브 님이 쓰신 글 :
: : StringGrid1에 잘못 뿌리신 것인데..
: : 어떻게 뿌렸다는건지는 전혀 설명은 안하시니
: : 답변 다시는 분들이 힘들겁니다.
: :
: : 이성현 님이 쓰신 글 :
: : : 번호,CMD,DATA,비고
: : : 1,0x01,"",Software RESET (0x01)
: : : 2,0x04,0x02,Dot Matrix frame Rate(0x04)
: : : 3,0x05,0x00,Graphic Memory Writing Direction(0x05)
: : : 4,0x06,0x00,Row Scan Direction(0x06)
: : : 5,0x07,0x00,Display Size(0x07)
: : :
: : : 위와 같은 csv 파일을 StringGrid1에 뿌려 주는데 ""를 하기 첨부 그림과 같이 출력 됩니다.
: : : 그래서    1,0x01,"",Software RESET (0x01) 를 -> 1,0x01,,Software RESET (0x01)
: : : 이런식으로 ""를 없애면 ,,부분은 삭제되고 뒷부분이 앞으로 밀려 오게 됩니다.
: : :
: : : ""를 어찌 처리하면 좋을까요?
: : :
: : : 엑셀로 불러들이면 없는데 메모장으로 읽으면 ""가 표시 됩니다.
: : : StringGrid1도 엑셀처럼 표시 안되게 할수 없나요?

+ -

관련 글 리스트
60521 StringGrid1 ""문자처리 문의드립니다. 이성현 1409 2010/03/19
60538     [답변] TStringList의 CommaText를 이용하세요. 정성훈.해미 2473 2010/03/22
60523     Re:StringGrid1 크레브 1300 2010/03/19
60534         Re:Re:StringGrid1 이성현 1300 2010/03/21
60535             Re:Re:Re:StringGrid1 한수동 1478 2010/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.