Complementando a sugestão do Gianni:
Os arquivos .ini são bons para pequenas configurações. Quando o volume
de dados é muito grande, é interessante optar pelo formato XML, ou por
um banco de dados SQLite.
O formato XML tem a vantagem de permitir uma boa estruturação das sua
informação e a desvantagem de exigir um pouco no processamento das
diretivas, principalmente se você fizer o parsing de maneira a gerar um
DOM. A biblioteca EXPAT é simples e tem uma performance absurda, apesar
de exigir um pouco mais de trabalho de programação.
O SQLite é um banco de dados muito simples, com uma API extremamente
simples de ser usada. As aplicações do projeto Mozilla o utilizam para
persistências de configurações. A vantagem é o acesso rápido aos dados,
sem falar na possibilidade de usar o modelo relacional para organizar
sua informação.
Espero ter ajudado.
Ronaldo
Gianni escreveu:
> hehe... eu diria que é estranho vc precisar mais que 1820 sections...
>
> Arquivo .ini não foi projetado para isso, e portanto, nem o TIniFile
> deve ter sido.
>
> Minha sugestão é que vc abandone o TIniFile completamente, e leia o
> arquivo usando um std::ifile ou algo semelhante. Dada a sua necessidade
> específica, o TIniFile não vai dar conta. Na verdade, uma pergunta que
> tem precedencia é: precisa ser ini mesmo? Com esse tamanho, ini não é
> uma opção tão boa. XML/SAX seria melhor.
>
>
> On Dec 4, 2009, at 1:53 PM, .Marcelo de Souza (MAPIS) wrote:
>
>> Então galera,
>>
>> Eu estou usando C++ Builder 6.
>>
>> O que eu estou com problema é o seguinte... eu só consigo ler 1820
>> section do arquivo que tem mais de 3800 section, então eu queria poder
>> ler tudo e fazer a inversão dos arquivo... eu tenho a section, name e
>> value em cada .ini , eu só quero inverter o valeu pelo section... mas
>> isso já está sendo feito... o problem é a quantidade que está lendo,
>> eu tentei usar o Capacity mas não funcionou!
>>
>> sim, eu já estava usando esse readSections...
>>
>> o que eu acho estranho é ele achar só 1820 section de um arquivo que
>> tem muito mais que isso!!
>>
>> valeu ai pessoal...
>>
>> abraços
>>
>> 2009/12/4 Marcio Gil <
marci...@bol.com.br
>> <mailto:
marci...@bol.com.br>>
>>
>>
>> > -----Original Message-----
>> > From: .Marcelo de Souza (MAPIS)
>> >
>> > Bom dia galera,
>> >
>> > eu estou com um probleminha com o TStringList lendo um arquivo
>> > .ini, o problema está que ele só consegui ler 1820 section do
>> > arquivo .ini
>> >
>> > Gostaria de saber se tem alguma maneira de configurar isso para
>> > ele poder ler o arquivo inteiro...
>> >
>> > aqui uma parte do meu codigo:
>> >
>> > TIniFile *arquivoLeitura = new TIniFile(
>> > GetCurrentDir() + "\\teste.INI <smb://teste.INI>");