INI файлы Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm

Post by midisa »

... пока возьму тайм аут на эту ветку форума т.к. хочу реализовать все нормально и за одно проверить окончательную работоспособность этой функциональной возможности.
P.S.
уважаемый моджо, сообщи свой номер мобильника (и имя оператора, надеюсь это Россия), можешь через обратную связь моего сайта. Ты помогаешь мне, хочу хоть как то отблагодарить тебя. Или выбери себе любую мою программу, на моем сайте, сообщи контакты, выдам тебе рег данные, будет тебе подарок (можешь любую мою прогу, своим клиентам задвинуть).
В общем спасибо тебе за помощь.
Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

Post by Mojo »

midisa wrote:... пока возьму тайм аут на эту ветку форума т.к. хочу реализовать все нормально и за одно проверить окончательную работоспособность этой функциональной возможности.
P.S.
уважаемый моджо, сообщи свой номер мобильника (и имя оператора, надеюсь это Россия), можешь через обратную связь моего сайта. Ты помогаешь мне, хочу хоть как то отблагодарить тебя. Или выбери себе любую мою программу, на моем сайте, сообщи контакты, выдам тебе рег данные, будет тебе подарок (можешь любую мою прогу, своим клиентам задвинуть).
В общем спасибо тебе за помощь.
:) Нет спасибо, мне ниего не надо :) я помогал в надежде, что ряды пользователей wxWidgets расширятся :)
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm

Post by midisa »

Тогда подитожим и пойдем дальше.

Я сделал две функции, так будет правильно:

wxString ReadINIFile(wxString sSectionName,wxString sKeyName, wxString sFileName)
{
wxString sValue;
wxString wsFile(sFileName);
wxFileConfig *pConfig = new wxFileConfig(
wxEmptyString, // app name
wxEmptyString, // vendor name
wsFile, //_T("conf.ini"),
wxEmptyString,
wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH
);
wxConfigBase::Set(pConfig);

pConfig->SetPath(_T("/") + sSectionName);
pConfig->Read(_T("/") + sSectionName + _T("/") + sKeyName, &sValue);
delete wxConfigBase::Set((wxConfigBase *) NULL);

return sValue;
}

bool WriteINIFile(wxString sSectionName,wxString sKeyName, wxString sValue, wxString sFileName)
{
wxString wsFile(sFileName);
wxFileConfig *pConfig = new wxFileConfig(
wxEmptyString, // app name
wxEmptyString, // vendor name
wsFile, //_T("conf.ini"),
wxEmptyString,
wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH
);
wxConfigBase::Set(pConfig);

pConfig->SetPath(_T("/") + sSectionName);
pConfig->Write(_T("/") + sSectionName + _T("/") + sKeyName, sValue);
delete wxConfigBase::Set((wxConfigBase *) NULL);

return true;
}

Стоит заметить, что без этой инструкции: delete wxConfigBase::Set((wxConfigBase *) NULL); файл НЕ записывается т.е. вся проблема была в том, что не было понятно почему файл не записывается в директорию.

Тема закрыта. Всем принимающим участие спасибо.