Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Работа с INI файлами (узнать количество секций)

Ответить
Настройки темы
C/C++ - [решено] Работа с INI файлами (узнать количество секций)

Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25


Конфигурация

Профиль | Отправить PM | Цитировать


Драсте. надо узнать количество секций в INI. Для INI с именами секций Item_х, где х - порядковый номер секции, и в каждой секции присутствует параметр name с каким небуть значением, я смог написать вот это:
Код: Выделить весь код
TIniFile *config = new TIniFile(GetCurrentDir()+"\\config.ini");
for(int item = 0; item <= 100; item++) {
	char *myBuff;
	AnsiString strRetVal;
	myBuff = new char[100];
	memset(myBuff,'\0',100);
	itoa(item,myBuff,10);
	strRetVal = myBuff;
	delete[] myBuff;
	AnsiString check=config->ReadString("Item_"+strRetVal,  "name", NULL) ;
	if (check=="0") {
		break;
	}
        counter=counter+1
}
counter - количество секций (начальное значение counter=0). Но по понятным причинам этот код не универсальный. Кто посоветует что то по лучше?

Отправлено: 14:08, 25-03-2009

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Для работы с ini-файлами рекомендуется использовать специальные функции: GetPrivateProfileString и WritePrivateProfileString.

Отправлено: 16:49, 25-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Цитата Busla:
Для работы с ini-файлами рекомендуется использовать специальные функции: GetPrivateProfileString и WritePrivateProfileString. »
Так как читать\записать значение я знаю, но вот как узнать количество секций в файле, вот в чем задача!

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 16:57, 25-03-2009 | #3


Аватара для Alan85

Старожил


Сообщения: 463
Благодарности: 91

Профиль | Отправить PM | Цитировать


TIniFile - если это из Borland то вот это поможет:
Код: Выделить весь код
TStrings *sek = new TStringList() ;
TIniFile *config = new TIniFile(GetCurrentDir()+"\\config.ini");
config->WriteString("1_sek","key1","1"); // просто 
config->WriteString("2_sek","key1","1"); // тестовые
config->WriteString("3_sek","key1","1"); // данные
config->ReadSections(sek); // считывает названия секций... 
Memo1->Lines->AddStrings(sek);
// config->ReadSections()
sek->Free();

Отправлено: 18:15, 25-03-2009 | #4


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Alan85, конечно промер нужный, но не для данного случая. Мне надо посчитать количество секций в произвольном файле, тоесть ты сделал какой то ini, а я программно узнал количество секций. Вот что нада!

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 19:21, 25-03-2009 | #5


Аватара для Alan85

Старожил


Сообщения: 463
Благодарности: 91

Профиль | Отправить PM | Цитировать


Думал дальше сам догадаешься. Здесь создается произвольный ini файл - я тут же генерил потом считывал, а ты можешь убрать генерацию и сразу считывать. Дальше считывает все названия секций. Это дает нам кодом
Код: Выделить весь код
sek->Count;
или
Код: Выделить весь код
Memo1->Lines->Count;
получить количество секций

Отправлено: 19:30, 25-03-2009 | #6


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Alan85, ты только что посвятил человека, который с С++ знакомый 4 дня

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 20:10, 25-03-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Работа с INI файлами (узнать количество секций)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Инфо - Работа с INF-файлами -devICE- Наборы обновлений для Windows XP/2003/Windows 7 6 17-10-2022 01:11
CMD/BAT - [решено] Работа с ini-файлами из CMD (BAT) Jeeb Скриптовые языки администрирования Windows 17 30-04-2011 21:31
[решено] Работа с удалёнными файлами rus-4-ever Вебмастеру 2 11-07-2008 15:36
Работа с файлами ramo Программирование в *nix 5 23-04-2007 12:33
Работа с *.lng файлами Artya Хочу все знать 2 18-03-2003 14:43




 
Переход