해당 폼은 차일드로 열려서 텍스트 문서를 열어서 다른 이름으로 저장하는 형태입니다.
텍스트 파일을 열어서 리스트박스에 추가하고
그 내용을 SaveDialog를 이용해서 다른 이름으로 저장했습니다.
그 상태에서 다시 부모창에서 차일드 폼을 실행 한 후
OpenDialog로 파일 열기를 하면 해당 문서 파일이 리스트 박스에 보이지 않습니다.
해당 폼이 차일드로 열어서 닫기 누르면 종료되는 것인데 차일드 폼이 닫기로 없어지면
다시 열릴 때 초기화 같은게 필요한 것일까요?
C++ 빌더 초보라서 이런 경우 난감하네요 ㅠ_ㅠ
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str1;
if(OpenDialog1->Execute())
{
sList->LoadFromFile(OpenDialog1->FileName);
for(int i = 0; i < sList->Count; i++)
{
String str = sList->Strings[i];
int idx = str.Pos(",");
sList->Strings[i] = " " + str.SubString(1, idx-1) + "<"
+ str.SubString(idx+1, str.Length()-idx).Trim() + ">";
}
sList->Strings[0] = sOutlook;
ListBox1->Items = sList;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString str2;
bool bCheck = true;
if(SaveDialog1->Execute())
{
sListB->LoadFromFile(sDPath + "\\" + sAddr);
for(int i = 0; i < sListB->Count; i++)
{
for(int j = 0; j< sList->Count; j++)
{
if (sList->Strings[j].Trim() == sListB->Strings[i].Trim())
{
bCheck = false;
break;
}
}
if(bCheck)
{
sList->Add(sListB->Strings[i]);
}
bCheck = true;
}
//ShowMessage(sList->Text);
//ShowMessage(sListB->Text);
sList->SaveToFile(SaveDialog1->FileName);
delete sListB;
delete sList;
Form1->Close();
}
}
|