1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
<head>
|
4
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
5
|
<title>keyfile: Main Page</title>
|
6
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
7
|
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
8
|
</head>
|
9
|
<body>
|
10
|
<!-- Generated by Doxygen 1.6.3 -->
|
11
|
<div class="navigation" id="top">
|
12
|
<div class="tabs">
|
13
|
<ul>
|
14
|
<li class="current"><a href="main.html"><span>Main Page</span></a></li>
|
15
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
16
|
<li><a href="files.html"><span>Files</span></a></li>
|
17
|
</ul>
|
18
|
</div>
|
19
|
</div>
|
20
|
<div class="contents">
|
21
|
<h1>gKeyfile Documentation</h1></div>
|
22
|
<p>gKeyFile is a Scol library based from GLib 2.24 / 2.26.<br />
|
23
|
Supported platforms : GNU / Linux and Microsoft Windows</p>
|
24
|
|
25
|
<h2>Installation</h2>
|
26
|
<ol>
|
27
|
<li>Download the library (MS Windows : <em>gkeyfile.dll</em>,
|
28
|
GNU/Linux : <em>gkeyfile.so</em>) :
|
29
|
</li>
|
30
|
<li>Copy it to your scol's plugins directory</li>
|
31
|
<li>Edit the <em>usm.ini</em> file and add this line :
|
32
|
<div class="fragment"><pre class="fragment">plugin plugins/gkeyfile.dll SCOLloadGKEYFILE SCOLfreeGKEYFILE</pre></div> if you
|
33
|
are on MS Windows, or<br />
|
34
|
<div class="fragment"><pre class="fragment">plugin ./plugins/gkeyfile.so SCOLloadGKEYFILE SCOLfreeGKEYFILE</pre></div> if you
|
35
|
are on GNU/linux.</li>
|
36
|
<li>(Re)Launch Scol.</li>
|
37
|
</ol>
|
38
|
<p>You must have the GLib 2.24 or + library installed on your system.
|
39
|
Only the GLib. <br />
|
40
|
More information <a href="http://trac.scolring.org/projects/lib2dgtk/wiki/Installation">here</a> (section : GTK+)</p>
|
41
|
|
42
|
<p>To uninstall, comment or remove the line to the <em>usm.ini</em> file. You can
|
43
|
safely delete the *.dll or *.so if you want.</p>
|
44
|
|
45
|
<h2>Introduction</h2>
|
46
|
<p>It reads and write a <em>key file</em>, typically a configuration file.</p>
|
47
|
<p>This key file can contain groups, keys, values, list of values and localization
|
48
|
for each key. It is possible to read and write any comments.<br />
|
49
|
Here is an example :</p>
|
50
|
|
51
|
<div class="fragment"><pre class="fragment">
|
52
|
# This is an example key-value file
|
53
|
|
54
|
[userconf]
|
55
|
# The default value of Name
|
56
|
Name=Your pseudo
|
57
|
# The french value of Name
|
58
|
Name[fr]=Votre pseudonyme
|
59
|
# The german value of Name
|
60
|
Name[de]=Ihr Spitzname
|
61
|
# His/her password
|
62
|
Pass=Your passeword
|
63
|
Pass[fr]=Votre mot de passe
|
64
|
Pass[es]=Contraseña
|
65
|
# Identification
|
66
|
Login=iri
|
67
|
Pwd=1%f5]mfé
|
68
|
# Number of connexion, success, fail
|
69
|
Conn=12;11;1
|
70
|
|
71
|
# Skin configuration
|
72
|
[skin]
|
73
|
Name=red
|
74
|
Path=app/themes/red/
|
75
|
Others=blue;yellow;green;black
|
76
|
Position=50;120
|
77
|
|
78
|
# Personnal values
|
79
|
[personnal]
|
80
|
# integer
|
81
|
value=12;4;589;-12;4
|
82
|
# float
|
83
|
valuef=0.25;4.52
|
84
|
</pre></div>
|
85
|
|
86
|
<p>The complete API can be found <a href="scol__glib__keyfile_8c.html#_details">here</a></p>
|
87
|
|
88
|
<p>Here a basic example (with the key file above)</p>
|
89
|
<div class="fragment"><pre class="fragment">
|
90
|
typeof Ini = ObjKeyFile;;
|
91
|
|
92
|
fun extrcatIniSub (list)=
|
93
|
if list == nil then
|
94
|
0
|
95
|
else
|
96
|
let hd list -> [key value] in
|
97
|
(
|
98
|
_fooS strcatn ".... " :: key :: " : " :: value :: nil;
|
99
|
extrcatIniSub tl list
|
100
|
);;
|
101
|
|
102
|
fun extrcatIni (list)=
|
103
|
if list == nil then
|
104
|
0
|
105
|
else
|
106
|
let hd list -> [group sublist] in
|
107
|
(
|
108
|
_fooS strcat ".. " group;
|
109
|
extrcatIniSub sublist;
|
110
|
extrcatIni tl list
|
111
|
);;
|
112
|
|
113
|
fun main ()=
|
114
|
_showconsole;
|
115
|
|
116
|
// flag = 3 : we need the localization and the comments
|
117
|
set Ini = _gkeyFileLoadP _channel _checkpack "tests/gkeyfile/test.ini" nil 3;
|
118
|
if Ini == nil then
|
119
|
(
|
120
|
_fooS "The key file could not be loaded !";
|
121
|
0
|
122
|
else
|
123
|
(
|
124
|
// What structure is contained in this file ? It will be displayed in the console
|
125
|
extrcatIni _gkeyFileGetDatas Ini;
|
126
|
// Get somevalues ...
|
127
|
_fooS gkeyFileGetValue Ini "username" "Name" GKF_VALUE_STRING;
|
128
|
_fooS gkeyFileGetLocaleValue Ini "username" "Name" "fr";
|
129
|
// We add a key and few localized values
|
130
|
set Ini = _gkeyFileSetValue Ini "username" "hi" "Welcome" GKF_VALUE_STRING;
|
131
|
set Ini = _gkeyFileSetLocaleValue Ini "username" "hi" "Bonjour !" "fr";
|
132
|
set Ini = _gkeyFileSetLocaleValue Ini "username" "hi" "Benvenuti !" "it";
|
133
|
// We save the strcuture to the key file (it will be overwritten)
|
134
|
_fooId _gkeyFileSave Ini _getmodifypack "tests/gkeyfile/test.ini";
|
135
|
0
|
136
|
);;
|
137
|
</pre></div>
|
138
|
|
139
|
|
140
|
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Mar 10 12:50:51 2011 for keyfile by
|
141
|
<a href="http://www.doxygen.org/index.html">
|
142
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
|
143
|
</body>
|
144
|
</html>
|