Jump to content

Indexless INI files


BenjaminKalytta

Recommended Posts

As you may have noticed in the past, I don't like XML.

But my current INI file format isn't flexible enough, so I decided to create version 2 of ini file which works completely without indizes. Old format will still be supported.

Instead of indizes I'll use tabulator indentations to create a command tree.

Here you can find my example INI file which is using this new format: http://www.kalytta.com/install.2.ini

If you have any additional suggestion concerning INI file just post it.

Benjamin Kalytta

Link to comment
Share on other sites


Hello Benjamin,

This is a good news while numbers are sometime a pain when you need to add a new item in the middle of the others.

On suggestions, the ability to use the same test at several position. I mean use the test 1 for prog A and use test 1 & test 2 for prog B without rewriting the test several times.

I use this to collapse blocks of programs when all the programs in the block are already installed.

Any date for the release of the new format ?

Regards

Link to comment
Share on other sites

I'm glad you are still developing this project.

Of course ;)

On suggestions, the ability to use the same test at several position

My idea about this was something like DefaultTest = <expression> which will be used for each entries below this expression until DefaultTest is changed or an empty value (DefaultTest=) is specified.

Im currently working on version 2 INI file parser. It's more time consuming as I thought before. It will be written completely in C++ code by using ATL library.

As I said I'll use tabulator indentation to create sub trees in version 2 file format. Should I also allow spaces or just tabulators or both?

Benjamin

Edited by BenjaminKalytta
Link to comment
Share on other sites

My idea about this was something like DefaultTest = <expression> which will be used for each entries below this expression until DefaultTest is changed or an empty value (DefaultTest=) is specified.

This should be quite limitative.

The way I would like to be abble to use the tests is starting with this example:

[Tools]
test.0 = test 0
test.1 = test 1
test.eval = 0 & 1
disabled = if.false

description.0 = App 0
command.0 = Cmd 0
test.0.0 = test 0
test.eval.0 = 0
selected.0 = if.true
disabled.0 = if.false

description.1 = App 1
command.1 = Cmd 1
test.1.0 = test 1
test.eval.1 = 0
selected.1 = if.true
disabled.1 = if.false

So something like this could be usefull

[Tools]
TestA = 1st test
TestB = 2nd test
test.eval = TestA & TestB
disabled = if.false

description.0 = App 0
command.0 = Cmd 0
test.eval.0 = TestA
selected.0 = if.true
disabled.0 = if.false

description.1 = App 1
command.1 = Cmd 1
test.eval.1 = TestB
selected.1 = if.true
disabled.1 = if.false

A little bit like you use general vars.

I don't have my ini file with me so I can't give a more detailed example, hope it's clear enought

Link to comment
Share on other sites

Regarding tabs and/or spaces, how will you mesure the number of spaces ?

Could be difficult to count the spaces when creating the ini file...

On my opinion tabs only seem better.

Edited by XPect
Link to comment
Share on other sites

  • 3 months later...

Hi Benjamin,

Are you still working on the indexless INI files?

I'm not pushing you as I know you have other things on your mind. I'm only interested in the status of the development.

I would really like to see it implemented as my INI file have grown to a size where it is a lot of work to insert a new program. Not that the work bothers me, but mistakes are easily made while updating the indexes.

Regards,

Rob

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...