470,572 Members | 2,087 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,572 developers. It's quick & easy.

Best way to update a settings file?

I'm thinking about writing a small script that will update an xml file
with whatever game settings the user enters. I imagine that the user
will have a single-screen GUI application with several different
settings, like this:

CROSSHAIRS ON
LOCATION ON
HEALTHBAR OFF
etc.....

These settings will somehow be toggleable with an ON/OFF button, or
something.

Anyway, I can think of two ways to do this:

1. After the user chooses his settings and clicks the Save button,
Python reads all the settings from the GUI application and updates
*every* entry in the xml file (whether it has changed or not).

2. After the user chooses his settings and clicks the Save button,
Python reads all the settings from the GUI application, compares these
settings to those in the xml file, and updates only the ones that have
been changed.

Now, #2 seems, at first glance, like the more efficient option, because
you are only updating what needs to be updated, and leaving the rest alone.

However, I wonder if the extra step of comparing all the settings from
the user input and the xml file will end up taking longer than just
simply rewriting all the settings.

Probably neither method will take much longer than the other, but I'm
asking more from a good design/efficiency standpoint. Which of these two
methods is the better way, or is there perhaps another way I'm not
thinking of?

Thanks!
Jun 27 '08 #1
1 1736
John Salerno wrote:
I'm thinking about writing a small script that will update an xml file
with whatever game settings the user enters. I imagine that the user
will have a single-screen GUI application with several different
settings, like this:

CROSSHAIRS ON
LOCATION ON
HEALTHBAR OFF
etc.....

These settings will somehow be toggleable with an ON/OFF button, or
something.

Anyway, I can think of two ways to do this:

1. After the user chooses his settings and clicks the Save button,
Python reads all the settings from the GUI application and updates
*every* entry in the xml file (whether it has changed or not).

2. After the user chooses his settings and clicks the Save button,
Python reads all the settings from the GUI application, compares these
settings to those in the xml file, and updates only the ones that have
been changed.
You can't write into the middle of an XML file effectively; any field
that has changed length won't fit. You generally have to create a new
XML file.

Read this on how to replace a file with a new one, as an atomic operation:

http://blogs.msdn.com/adioltean/arch...28/507866.aspx

If you really want to update files in place, use a database, like
SQLite. If you find yourself rewriting big files for minor changes,
switch to a database. For small files, just rewrite the whole thing.

John Nagle
Jun 27 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Jimbo | last post: by
reply views Thread by Ronald S. Cook | last post: by
4 posts views Thread by tshad | last post: by
3 posts views Thread by Arthur Dent | last post: by
5 posts views Thread by Allan Ebdrup | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.