뭐가 잘 안된다는 것지 잘 모르겠네요
질문 내용이 좀 부족합니다.
일단 ComboBox에 구분항목을 다 넣으려면
for 구문 에서 ComboBox1->Items->Add() 해서 하나씩 다 넣어줘야됩니다.
ComboBox 선택 이밴트에서 선택된 인덱스 구해서 항목내용이 들어있는
배열의 값을 Edit 에 출력하면 됩니다.
temp.SubString(nPos1+1,nPos2-2); 이 부분도 만약 '[' 문자가 시작되는 위치가
첫번째가 아니고 앞쪽에 공백이 있다면 잘못된 방식입니다.
nPos2 - nPos1 방식의 값을 사용해야합니다. SubString()의 두번째 파라미터는 위치값이 아니라
스트링 길이입니다.
정원철 님이 쓰신 글 :
: [첫번째]어쩌구 저쩌구 ....처음이다.
: [두번째]또 어쩌구 저쩌구 두번째네.
: [세번째]세번째 선택됬네..
: ... ...
:
: 위와 같은 형식으로 작성된 텍스트 문서파일 읽어서
:
: ComboBox1->Text = 구분항목;
: Edit1->Text = 항목내용;
: 으로 보여지게 할려고 하는데 잘 안돼네요. 코드 좀 봐주세요..
:
:
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
: int nPos1 = 1;
: int nPos2 = 1;
: AnsiString sTitle[30];
: AnsiString sCon[30];
: String sFname="Report.txt";
: TStringList *sLst = new TStringList;
: sLst->LoadFromFile(sFname) ;
: sLst->Sorted=true;
: sLst->Duplicates=dupIgnore; // 정렬하면서 중복되는 데이타 삭제
: for(int i=0;iCount;i++)
: {
: AnsiString temp = sLst->Strings[i];
: while(temp != "")
: {
: nPos1 = temp.Pos("["); //[위치를 찾음
: nPos2 = temp.Pos("]");
: if(nPos1)
: {
: sTitle[i] = temp.SubString(nPos1+1,nPos2-2);
: sCon[i] = temp.SubString(nPos2+1,temp.Length());
:
: }
: }
: }
: ComboBox1->Text = sTitle[0];
: Edit1->Text = sCon[0];
: delete sLst;
: }
|