Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 10
RPGer Сообщение 16/08/2008 17:15 Копия темы
[C++]Не читает параметр в ini .
Привет всем. Работаю с ini файлами давно и проблем не возникало.
Написал программу. При нажатии на кнопку происходит запись в файл ini->WriteInteger("a","b",1); и при создании формы идет считывание этого параметра ini->ReadInteger("a","b",0); Программа тупит выводит значение 0(что означает что параметр b=1 не считался). Но это не все. Через 5 мин. я исправил немного код и переделал строчку
ini->WriteInteger("a","b",1);
на
ini->WriteInteger(" a","b",2);
Выполняю программу. Захожу в ini ииииииии в ступоре =). Программа записала значение 5 минутной давности(т.е. b=1).
Собственно =) скажите мне почему ini->ReadInteger("a","b",0); до сих пор не считывается. И почему ini->WriteInteger("a","b",2); записывает значение 1.
Ток не пинайте и не плюйтесь если туплю. Я пишу первый раз =).
msobolev Сообщение 16/08/2008 17:41 Копия темы
.
после записи желательно закрывать файл, иначе срабатывает буферизация на системном уровне и проблемы могут быть из-за этого (судя по значению 5 минутной давности). В остальном – код в студию, тогда видно будет, почему вместо 2 единица.

RPGer Сообщение 16/08/2008 18:06 Копия темы
.
Собсно код не намудренный. все как нада(наверно).
#include <IniFiles.hpp>
TIniFile *ini=new TIniFile(GetCurrentDir()+"/uninstall.ini");
/*
кстати. раньше(до этого дня) я писал просто TIniFile *ini=new TIniFile("uninstall.ini");
и при записывании параметра в ini файл uninstall.ini создавался автоматически(без проблем). А в этом "Application" создался только так TIniFile *ini=new TIniFile(GetCurrentDir()+"/uninstall.ini");
*/
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ini->WriteString("SETTING","PARAMETER", "1");
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
if (ini->ReadString("SETTINGS","PARAMETER", "0")=="1"){
ShowMessage("ГЫ");
Application->Terminate();
}
Вообщемто так. записываю параметр в ини потом закрываю программу. потом захожу еще раз в программу а он мне должен просто показывать"ГЫ" =)
А он получается не считывает параметр =) (или я туплю)

msobolev Сообщение 16/08/2008 18:17 Копия темы
.
если ты скопипастил код то твоя проблема в том что ты пишешь в секцию SETTING
ini->WriteString("SETTING","PARAMETER", "1")
а считываешь из SETTINGS
if (ini->ReadString("SETTINGS","PARAMETER", "0")=="1")

вот он у тебя и не считывает.

RPGer Сообщение 16/08/2008 18:20 Копия темы
.
ох черт точно! спс что носом ткнули. =) блин во я невнимательный =(.

msobolev Сообщение 16/08/2008 18:20 Копия темы
.
и почему слеш такой странный в конструкторе? обычно обратный ставят.. я имею ввиду что по правилам \uninstall.ini вернее будет.

msobolev Сообщение 16/08/2008 18:20 Копия темы
.
бывает

RPGer Сообщение 16/08/2008 18:21 Копия темы
.
=) ок исправлю. спс. только он и так работал поэтому и не стал менять =))

msobolev Сообщение 16/08/2008 18:23 Копия темы
.
ну для ХР вроде некритично это (не первый раз встречаю), но ИМХО лучше писать по стандарту.

RPGer Сообщение 16/08/2008 18:23 Копия темы
.
Все =)))) теперь все работает. Большое спасибо.

0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"