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
[1214] [잡담] EIDSEY님.. 쿠쿠.../프포
pcni [ ] 3449 읽음    1999-04-01 17:54


유수입니다.

답변에 대한 약간의 부연 설명이 필요 한것 같군요.

답변을 명료하게 하기 위해 SDI를 기준으로 하겠습니다.

먼저 FileName은 전역변수 String형입니다.

String FileName;

화일을 오픈하는 순간, 오픈 다이알로그에서 받은 화일명을 FileName이라는

전역 변수에 넣어줍니다.

요렇게요.

void FileOpen()
{
  if (OpenDialog1->Execute()){
  FileName = OpenDialog1->FileName;
  RichEdit1->LoadFromFile(FileName);
  // 이때 리치에디트의 Modified 프로퍼티를 False로 셋팅합니다.
  RichEdit1->Modified = False;
  }
}

그런데 새 화일을 만들때는 이렇게 합니다.

void FileNew()
{
  FileName = "Noname";
  RichEdit1->Clear();
  RichEdit1->Modified = False;
}

그리고, 저장할때는 다음과 같이 합니다.
void FileSave()
{
// 현재 새화일로 만든어 편집한 상태이기 때문에 Save Dialoge를 띄우고
// 화일명을 입력받습니다.
if (FileName == "Noname")  {
   if (SaveDialoge1->Execute())
     {
       FileName = SaveDialoge1->FileName;
       RichEdit1->SaveToFile(FileName);
       RichEdit1->Modified = False;
      }
  }
// 이미 저장했거나, 존재하고 있는 화일을 불러와 편집중이었다면
// 그냥 세이브 다이얼 로그를 띄울 필요없이 저장해 버립니다.
else
  {
   RichEdit1->SaveToFile(FileName);
   RichEdit1->Modified = False;
  }
}                  


에고... 델을 주로 쓰는 관계로 문법에 약간의 실수가 있을 수 있습니다.

그럼...

                                                             흐르는 물 유수~  


+ -

관련 글 리스트
1214 [잡담] EIDSEY님.. 쿠쿠.../프포 pcni 3449 1999/04/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.