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
[59466] 매번 감사합니다. ^^
김효준 [hyojuny79] 835 읽음    2009-12-16 16:11
매번 정확한 해결법을 알려주시니 정말 감사합니다.

^^;


장성호 님이 쓰신 글 :
: Save할때  TStringList인  sList를 free해버렸네요
:
: Open할때 다시 sList를 다시 new하지 않았으니..
: 제대로 내용을 읽어오지조 못할것이구..
:
: ListBox->Items에도 NULL이 할당되니..
: 당연히 아무것도 안들어가겠죠
:
: 그럼..
:
:
: 김효준 님이 쓰신 글 :
: : 해당 폼은 차일드로 열려서 텍스트 문서를 열어서 다른 이름으로 저장하는 형태입니다.
: :
: : 텍스트 파일을 열어서 리스트박스에 추가하고
: :
: : 그 내용을 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;       //여기서 free해버렸네요..
: : 
: :   Form1->Close();
: :  }
: : }
: : 

+ -

관련 글 리스트
59463 [소스참조] OpenDialog 로 파일을 열고 처리 후 다시 열기를 하면 안 되는데... 김효준 1065 2009/12/16
59464     Re:[소스참조] OpenDialog 로 파일을 열고 처리 후 다시 열기를 하면 안 되는데... 장성호 1216 2009/12/16
59466         매번 감사합니다. ^^ 김효준 835 2009/12/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.