mfc 파일 저장 예제

파일을 자동 저장한 다음 프로그램이 충돌한 후 이러한 파일을 복구하는 방법은 거의 논의되지 않지만 프로그램에 전력과 유연성을 추가합니다. 이 문서에서는 MS Office에서 사용하는 것과 유사한 자동 저장 및 자동 복구 메서드를 구현하는 방법을 설명합니다. MFC 예제: CFileDialog 공통 대화 상자를 먼저 엑포싱하는 MFC 솔루션은 파일을 저장할 위치를 선택해야 합니다. 이 디렉터리 일정 을 유지 해야 합니다., 또는 그렇지 않으면 자동 저장 된 파일에 대 한 전체 하드 디스크를 검색 해야 합니다…. 그리고 그 질문에서입니다. 실용적인 목적을 위해 프로그램은 HD의 가장 일정한 디렉토리인 Windows 디렉터리에서 폴더 안에 배치해야 합니다. 이 디렉터리 환경 변수 WINDIR에 저장 해야 합니다. 어떤 이유로 사용자의 시스템에 WINDIR 환경 변수가 없거나 환경 변수가 잘못 설정된 경우 프로그램에서 이를 검색하고 다른 디렉터리를 선택해야 합니다. CFileFind 클래스를 사용하여 저장된 디렉터리가 있는지 쉽게 확인할 수 있습니다. 다음 코드는 그 작업을 수행합니다 (gm_autosave 디렉터리 문자열, 전역, 이 예제와 마찬가지로, 또는 응용 프로그램의 멤버 함수를 통해 액세스할 수 있습니다). 응용 프로그램의 InitInstance 함수 내에서 미리 형성되는 것이 가장 좋습니다. 이제 경로가 결정되었으므로 프로그램에서 파일을 저장할 위치를 알 수 있습니다. 따라서 다음 부분은 응용 프로그램에서 저장 루틴을 구현하는 것입니다.

시스템 리소스가 흡수되지 않도록 하려면 메인 프레임 창에서 OnTimer 기능을 사용합니다. 초기화 시 프로그램은 적절한 값을 가진 SetTimer(…) 함수를 호출해야 합니다. SetTimer (0, m_autosavetime * 60 * 1000,NULL)는 타이머를 설치합니다 (m_autosavetime이 몇 분 안에 있다고 가정). 이제 타이머가 만료될 때마다 주 프레임의 OnTimer() 함수가 호출됩니다. 이 함수 내에서 앱에 포함된 모든 보기에 자동 저장 메시지를 보내야 합니다. 프로그램이 로드될 때마다 파일을 자동으로 복구해야 합니다. 이 작업은 자동 저장된 모든 파일에 대한 자동 저장 디렉토리를 검색하고 InitInstance 함수에서 필요에 따라 로드하여 수행됩니다. 프로그램의 여러 인스턴스를 허용하는 경우 자동 저장된 파일을 복구하기 전에 현재 인스턴스가 유일한 인스턴스인지 확인합니다. 복구된 파일에 대해 완전히 새로운 문서 및 보기 클래스를 작성하는 대신 문서의 Serialize(…) 함수를 수정하여 직렬화시 파일 확장문을 확인할 수 있습니다.