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
[27971] 허걱 그렇게 ini 파일 만들지 마세요.
smleelms [smleelms] 1453 읽음    2003-11-24 23:23
퇴근하기 직전이라, 정리하지 못하고 바로올립니다. 양해 부탁드리구요.. 참고하세요.. ^^;

    TSearchRec sr;
    TIniFile *ini;

    ini = new TIniFile( ChangeFileExt( Application->ExeName, ".ini" ) );

    if(FindFirst(ChangeFileExt(Application->ExeName, ".ini"), faArchive, sr) == 0)    // ini 파일이 존재하면
        bIniFileExist = true;
    else
        bIniFileExist = false;

    if(bIniFileExist)
    {
        Serial1->PortNumber = ini->ReadInteger("Serial1", "PortNum", 1);
        Serial1->BaudRate   = ini->ReadInteger("Serial1", "BaudRate", 19200);
        Serial1->ByteSize   = ini->ReadInteger("Serial1", "DataBits", 8);

        if     (ini->ReadString("Serial1", "StopBits", "1") == "1")
            Serial1->StopBits = S1;
        else if(ini->ReadString("Serial1", "StopBits", "1") == "1.5")
            Serial1->StopBits = S1_5;
        else if(ini->ReadString("Serial1", "StopBits", "1") == "2")
            Serial1->StopBits = S2;

        if     (ini->ReadString ("Serial1", "Parity",   "None") == "None")
            Serial1->Parity = None;
        else if(ini->ReadString ("Serial1", "Parity",   "None") == "Even")
            Serial1->Parity = Even;
        else if(ini->ReadString ("Serial1", "Parity",   "None") == "Odd")
            Serial1->Parity = Odd;

        Serial2->PortNumber = ini->ReadInteger("Serial2", "PortNum", 2);
        Serial2->BaudRate   = ini->ReadInteger("Serial2", "BaudRate", 19200);
        Serial2->ByteSize   = ini->ReadInteger("Serial2", "DataBits", 8);

        if     (ini->ReadString("Serial2", "StopBits", "1") == "1")
            Serial2->StopBits = S1;
        else if(ini->ReadString("Serial2", "StopBits", "1") == "1.5")
            Serial2->StopBits = S1_5;
        else if(ini->ReadString("Serial2", "StopBits", "1") == "2")
            Serial2->StopBits = S2;

        if     (ini->ReadString ("Serial2", "Parity",   "None") == "None")
            Serial2->Parity = None;
        else if(ini->ReadString ("Serial2", "Parity",   "None") == "Even")
            Serial2->Parity = Even;
        else if(ini->ReadString ("Serial2", "Parity",   "None") == "Odd")
            Serial2->Parity = Odd;

        ShuntCurr = ini->ReadInteger("Battery", "ShuntCurrent", 100);

        AnsiString s;
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "1", 3.2)); lstCR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "2", 1.1)); lstCR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "3", 0.8)); lstCR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "4", 0.5)); lstCR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "5", 0.3)); lstCR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRCap", "6", 0.1)); lstCR->Items->Add("  " + s + " mΩ");
       
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "1", 90.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "2", 60.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "3", 49.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "4", 40.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "5", 30.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "6", 20.0)); lstBR->Items->Add("  " + s + " mΩ");
        s = FormatFloat("0.0", ini->ReadFloat("ListRBattery", "7", 10.0)); lstBR->Items->Add("  " + s + " mΩ");
    }
    else
    {
        ini->WriteInteger("Serial1", "PortNum",  Serial1->PortNumber);
        ini->WriteInteger("Serial1", "BaudRate", Serial1->BaudRate);
        ini->WriteInteger("Serial1", "DataBits", Serial1->ByteSize);
        ini->WriteString ("Serial1", "StopBits", "1");
        ini->WriteString ("Serial1", "Parity",   "None");

        ini->WriteInteger("Serial2", "PortNum",  Serial2->PortNumber);
        ini->WriteInteger("Serial2", "BaudRate", Serial2->BaudRate);
        ini->WriteInteger("Serial2", "DataBits", Serial2->ByteSize);
        ini->WriteString ("Serial2", "StopBits", "1");
        ini->WriteString ("Serial2", "Parity",   "None");

        ini->WriteInteger("Battery", "ShuntCurrent",  100);

        ini->WriteFloat("ListRCap", "1", 3.2);
        ini->WriteFloat("ListRCap", "2", 1.1);
        ini->WriteFloat("ListRCap", "3", 0.8);
        ini->WriteFloat("ListRCap", "4", 0.5);
        ini->WriteFloat("ListRCap", "5", 0.3);
        ini->WriteFloat("ListRCap", "6", 0.1);

        ini->WriteFloat("ListRBattery", "1", 90.0);
        ini->WriteFloat("ListRBattery", "2", 60.0);
        ini->WriteFloat("ListRBattery", "3", 49.0);
        ini->WriteFloat("ListRBattery", "4", 40.0);
        ini->WriteFloat("ListRBattery", "5", 30.0);
        ini->WriteFloat("ListRBattery", "6", 20.0);
        ini->WriteFloat("ListRBattery", "7", 10.0);

        lstCR->Items->Add("  3.2 mΩ");
        lstCR->Items->Add("  1.1 mΩ");
        lstCR->Items->Add("  0.8 mΩ");
        lstCR->Items->Add("  0.5 mΩ");
        lstCR->Items->Add("  0.3 mΩ");
        lstCR->Items->Add("  0.1 mΩ");
       
        lstBR->Items->Add("  90.0 mΩ");
        lstBR->Items->Add("  60.0 mΩ");
        lstBR->Items->Add("  49.0 mΩ");
        lstBR->Items->Add("  40.0 mΩ");
        lstBR->Items->Add("  30.0 mΩ");
        lstBR->Items->Add("  20.0 mΩ");
        lstBR->Items->Add("  10.0 mΩ");
    }

    delete ini;

+ -

관련 글 리스트
27969 INI 파일 만드는것중에 질문이 있습니다. 아리오스 1063 2003/11/24
27971     허걱 그렇게 ini 파일 만들지 마세요. smleelms 1453 2003/11/24
34043         Re:허걱 그렇게 ini 파일 만들지 마세요. 아리오스 1149 2003/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.