[Lazarus] Configuration data in Linux?

Bo Berglund bo.berglund at gmail.com
Tue Sep 28 10:42:55 CEST 2010


2010/9/28 Žilvinas Ledas <zilvinas.ledas at dict.lt>:
>
> On 2010-09-28 09:24, Bo Berglund wrote:
>>
>> So can I get some advice on:
>> - What is the common way to store config data on Linux?
>>   Ini files are probably not used since they are Windowsisms,
>>   but is there some other easily used way where one can simply
>>   store and retrieve individual values without scanning through
>>   a text file?
>>
>> - Where is the agreed location for such data?
>>
> In Lazarus you can use:
> function GetAppConfigDirUTF8(Global: Boolean): string;
> function GetAppConfigFileUTF8(Global: Boolean; SubDir: boolean = false):
> string;
>
> to get correct config dir/file name in (various versions of)
> windows/linux/osx.
>
>
> Regards
> Žilvinas

So to summarize there *is* a convention on the file location depending
on if the data are user specific or global. The name of the file is
the application name preceded by a period. No extension.
But there is no convention regarding the format of this file apart
from it being in ASCII only.

So I could create an IniFile class to handle the config and let it
have methods for reading/writing private and global config data into a
file which it determines by itself depending on its call. Then I would
be doing the right thing? I could use the format of windows ini files
(which we are accustomed to) and still be OK on Linux...

Methods could be overloaded as:
 ReadIniString(section, item, default: string);
 ReadIniString(section, item, default: string; global: boolean);
where the first version uses the current user's private area and the
second one uses the global area. Otherwise they are identical.

--
Bo Berglund




More information about the Lazarus mailing list