728x90
반응형
ini 파일은 설정 파일에 대한 표준으로 단순한 구조로 이루어진 텍스트 파일이다. 당연히 .ini로 되어 있고 텍스트 파일이기 때문에 메모장 또는 일반 편집기 등으로 열어볼 수 있다.
GUI를 만들다보면 기본적으로 들어가 있으면 편한 내용이 있다. 예를 들면 기존에 연결했던 통신 포트라던가 아니면 기존에 접속했던 ID 또는 비번 등이 있다.
기본은 INI 파일을 창을 닫을 때 생성하고 프로그램을 처음 시작할 때 INI 파일을 읽어서 필요한 정보에 적용하는 절차이다. INI 파일을 만드는 함수와 INI 파일을 읽는 함수를 만든다.
1. INI 파일 만드는 함수 (예시)
void CS8_Power_Test_JIGDlg::INI_File_Create()
{
CString str, strSection, strKey, strValue;
strThisPath.Format(_T("%s\\%s"),chThisPath,"Setting.ini");
CFile file(strThisPath, CFile::modeCreate|CFile::modeWrite);
file.Close();
strSection = _T("RS422"); // 섹션
strKey = _T("COMPORT"); // 키
strValue = m_comb_com_port; // 값
WritePrivateProfileString(strSection, strKey, strValue, strThisPath);
strKey = _T("Baud Rate");
strValue = m_comb_baudrate;
WritePrivateProfileString(strSection, strKey, strValue, strThisPath);
strSection = _T("TESTER"); // 섹션
strKey = _T("PSU"); // 키
GetDlgItemText(IDC_COMB_MKP_COM_PORT,strValue); // 값
WritePrivateProfileString(strSection, strKey, strValue, strThisPath);
strKey = _T("DMM"); // 키
GetDlgItemText(IDC_EDIT_DMM_CONNECT,strValue); // 값
WritePrivateProfileString(strSection, strKey, strValue, strThisPath);
strKey = _T("OSC"); // 키
GetDlgItemText(IDC_EDIT_OSC_CONNECT,strValue); // 값
WritePrivateProfileString(strSection, strKey, strValue, strThisPath);
}
2. INI 파일 읽기 (예시)
void CS8_Power_Test_JIGDlg::INI_File_Read()
{
CString str;
TCHAR inbuffer[100];
strThisPath.Format(_T("%s\\%s"),chThisPath,"Setting.ini");
GetPrivateProfileString( "RS422", "COMPORT", "NoInfo", inbuffer, sizeof(inbuffer), strThisPath );
m_comb_com_port.Format("%s",inbuffer);
GetPrivateProfileString( "RS422", "Baud Rate", "NoInfo", inbuffer, sizeof(inbuffer), strThisPath );
m_comb_baudrate.Format("%s",inbuffer);
GetPrivateProfileString( "TESTER", "PSU", "NoInfo", inbuffer, sizeof(inbuffer), strThisPath );
m_comb_mkp_com_port.Format("%s",inbuffer);
GetPrivateProfileString( "TESTER", "DMM", "NoInfo", inbuffer, sizeof(inbuffer), strThisPath );
SetDlgItemText(IDC_EDIT_DMM_CONNECT,inbuffer);
GetPrivateProfileString( "TESTER", "OSC", "NoInfo", inbuffer, sizeof(inbuffer), strThisPath );
SetDlgItemText(IDC_EDIT_OSC_CONNECT,inbuffer);
}
3. 프로그램 종료시에 INI 파일 만드는 함수 삽입
- 프로그램에 OnSysCommand 내부에 INI_File_Create(); 를 넣는다.
void CS8_Power_Test_JIGDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
INI_File_Create();
CDialogEx::OnSysCommand(nID, lParam);
}
}
4. 프로그램 시작시에 INI 파일 읽는 함수 삽입한다.
- OnInitDialog()에 INI_File_Read()를 실행할 수 있게 삽입한다.
5. 프로그램을 실행 후 닫으면 실행한 폴더에 다음과 같은 파일이 만들어진다.
728x90
반응형
'프로그램 이야기 > MFC' 카테고리의 다른 글
[MFC] MFC 메시지 정리 (0) | 2022.06.20 |
---|---|
[MFC] 객체의 글꼴 변경하기 (0) | 2022.01.20 |
[MFC] 객체에 클릭시 커서 없애기.... (0) | 2022.01.19 |
[MFC] 시리얼 통신시 패킷 끊어짐 해결 방법 (0) | 2022.01.13 |
[MFC] Keysight 장비 Visaul Studio 연결 방법 (0) | 2021.12.14 |