|
for문을 이렇게 바꿔 보세요.
대충 토 달아 놨습니다. 원하시는 답일런지...
for(int j=1; j<=data->Count; j++)
{
int idx = 0;
int i = 0;
AnsiString str;
AnsiString temp = data->Strings[j-1];
temp = temp.Trim(); //앞뒤에 있는 공백을 없앰
temp += " "; //맨뒤에 공백을 하나 추가
while(temp != "")
{
i++;
idx = temp.Pos(" "); //공백위치를 찾음
if(idx)
{
str = temp.SubString(1,idx-1); //1부터 공백위치-1 까지 문자를 str로 복사
StringGrid1->Cells[i][j] = str
temp = temp.Delete(1,idx); //StringGrid에 입력된 문자를 temp에서 지움
temp = temp.TrimLeft(); //temp 문자열의 왼쪽 공백을 없앰
}
}
}
소영 님이 쓰신 글 :
: 읽어드리려는 파일(Tabbed Text)의 형태가 아래와 같을 때.
: 이 값들을 StringGrid에 저장하려 합니다.
: 0.000555556 0.202005759 0.477070302 1.001157165 0.566622436
: 0.167222217 0.198920935 0.459675699 0.974275172 0.55708456
: 0.250555545 0.192736641 0.448087335 0.952290893 0.545325756
: 0.333888888 0.185793534 0.435773283 0.93315047 0.538089871
: 0.417222232 0.178171739 0.425601512 0.913658023 0.530997932
:
: 제가 만든 소스는 각 row의 값을 한 col에 넣는 것만 성공했습니다.
: if(OpenDialog1->Execute()){
: TStringList *data=new TStringList;
: data->LoadFromFile(OpenDialog1->FileName);
:
: for(int j=1;j<=data->Count;j++){
: AnsiString temp=data->Strings[j-1];
: StringGrid1->Cells[1][j]=temp;
:
: }
: }
: for문을 한번 더 써서 row별로 잘린 값을 column에 넣으려면 어떻하지요?
: SubString은 자리수 맞추기가 어렵더군요.
: 자세히 좀 가르쳐 주세요.
: 감사합니다.^^
|