37 / 37 / 6
Регистрация: 20.03.2011
Сообщений: 331
1

Работа с ini.Как в секции узнать количество ключей?

10.02.2012, 12:00. Показов 3223. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как в секции узнать количество ключей?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2012, 12:00
Ответы с готовыми решениями:

Подсчёт записей в секции ini-файла
Как можно подсчитать количество записей из ini-файла? Например, у меня в ini-файле хранятся...

Сохранить нумерацию секций .ini файла после удаления произвольной секции
всем доброго времени суток. суть проблемы: есть файл .ini key=text1 key=text2 key=text3...

Как в секции INI файла узнать количество ключей ?
Привет Всем. Снова я со своими делитантскими вопросами... :) Собвственно, по заголовку и так...

Работа с ini файлом: как получить все секции
Проблема в следующем: Нашел api для работы с ini, нашел нужные мне функции:...

2
LK
Заблокирован
10.02.2012, 12:14 2
Лучший ответ Сообщение было отмечено nikitapel как решение

Решение

C++
1
2
3
4
5
6
7
TIniFile *iniFile = TIniFile(iniFileName);
TStringList *iniKeys = new TStringList;
TStringList *iniSections = new TStringList;
iniFile->ReadSections(iniSections);
ShowMessage(IntToStr(iniSections->Count)); // Количество секций
iniFile->ReadSection(SectionName, iniKeys);
ShowMessage(IntToStr(iniKeys->Count)); // Количество ключей
Working with INI Configuration Files Cross-Platform (Win32/Un*x, MBCS/Unicode)->SimpleIni
GetSectionSize() returns the number of keys in a section
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
unsigned long int CIni::ulSectionSize(const char *pszSection) {
  unsigned long int ulRes = 0;
  const unsigned int uiBuffLen = LINES_PER_SECTION * LINE_LEN;
  char szBuff[uiBuffLen];
  memset(szBuff, 0, uiBuffLen);
 
  GetPrivateProfileSection(pszSection, szBuff, uiBuffLen, m_sFilePath.c_str());
  //"Key1=xxx1"0"Key2=xxx2"0"Key2=xxx2"
  //если секция пустая
  if (szBuff[0] == '\0') {
    return 0;
  } 
  //секция не пустая
  for (int i = 0; i < uiBuffLen; i ++) {
    if (szBuff[i] == '\0') {
      ulRes ++;
       //конец данных '\0\0'
       if (szBuff[i + 1] == '\0') {
         break;
      }                
    }
  }    
  return ulRes;
}
1
37 / 37 / 6
Регистрация: 20.03.2011
Сообщений: 331
13.02.2012, 15:42  [ТС] 3
Спасибо LK выручил
1
13.02.2012, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2012, 15:42
Помогаю со студенческими работами здесь

Как данные из секции INi-файла считать в ListBox?
Как данные из секции INi-файла считать в ListBox? Как считать данные в переменную я знаю, а как...

Запись ID INI секции
Добрый день форумчане! Вот появился один вопросик как сделать запись ID секции INI,то есть номер...

Очистка секции ini файла
Как мне программно очистить какую либо секцию ini файла (например 'form1' 'z3' ?)

Создание секции в ini файле
Здравствуйте. Нужно программно записать в файл секцию. Есть для этого функции? Или просто, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru