<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>get_config_string</title>
		<link>http://www.allegro.cc/forums/view/588993</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 12 Dec 2006 22:20:04 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m using Allegro 4.2.1 and functiom get_config_string does not work for me. All others do ( int, float ).<br /><span class="source-code">string s <span class="k3">=</span> <a href="http://www.allegro.cc/manual/get_config_string" target="_blank"><span class="a">get_config_string</span></a><span class="k2">(</span> <span class="s">"Vars"</span>, <span class="s">"LogPath"</span>, <span class="s">"Not Read"</span> <span class="k2">)</span><span class="k2">;</span></span><br />s == &quot;Not Read&quot;</p><p>and I&#39;m sure that section and value exist in my cfg.file ( LogPath = log.txt )</p><p>Anyone has any advice? Can this be a bug? Thanks.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mscava)</author>
		<pubDate>Sun, 10 Dec 2006 03:13:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, it isn&#39;t a bug. Try this code, though.</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/set_config_string" target="_blank"><span class="a">set_config_string</span></a><span class="k2">(</span><span class="s">"Vars"</span>, <span class="s">"LogPath"</span>, <span class="s">"set value"</span><span class="k2">)</span><span class="k2">;</span>
string s <span class="k3">=</span> <a href="http://www.allegro.cc/manual/get_config_string" target="_blank"><span class="a">get_config_string</span></a><span class="k2">(</span><span class="s">"Vars"</span>, <span class="s">"LogPath"</span>, <span class="s">"Not Read"</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>As tell me what the value is.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Sun, 10 Dec 2006 03:25:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes... It works now. s == &quot;set value&quot;<br />Well... I guess problem is in file... but I have no idea where </p><p>Could you please explain it to me?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mscava)</author>
		<pubDate>Sun, 10 Dec 2006 03:36:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Can you provide the file as an attachment?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Sun, 10 Dec 2006 03:48:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here it is<br /><a href="http://www.members.allegro.cc/mscava/setup.cfg">http://www.members.allegro.cc/mscava/setup.cfg</a><br />( File also as an atachment... )</p><p>EDIT:<br />I see no difference between text generated by set_config_string and text written manually to notepad. Even non-visible characters are the same. Anyone has any idea what&#39;s wrong?</p><p>EDIT2: And I&#39;ve found out, that it&#39;s not gonna read even file into which was written by set_config_string. Pls... help me someone...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mscava)</author>
		<pubDate>Sun, 10 Dec 2006 03:53:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>try that.</p><p>string s.c_str() = get_config_string(&quot;Vars&quot;, &quot;LogPath&quot;, &quot;Not Read&quot;);</p><p>Edit:<br />for a lot of allegro fountions the string must be converted to a char string
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Sun, 10 Dec 2006 06:46:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Piccolo, that has nothing to do with the problem. And that would most probably crash the program.</p><p>I haven&#39;t done much work with the config routines. Try posting the relevant parts of your source.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Sun, 10 Dec 2006 07:19:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
for a lot of allegro fountions the string must be converted to a char string
</p></div></div><p>

Yes, when sending values in. But when assigning, string reads from char* just fine.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sun, 10 Dec 2006 07:40:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here is my configuration function:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">void</span> Setup <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">2</td><td>SetupAllFromFile <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> path <span class="k2">)</span></td></tr><tr><td class="number">3</td><td><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  CfgFile <span class="k2">:</span><span class="k2">:</span> SetCfgFile <span class="k2">(</span> path <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>  string s <span class="k3">=</span> <a href="http://www.allegro.cc/manual/get_config_string" target="_blank"><span class="a">get_config_string</span></a><span class="k2">(</span><span class="s">"Vars"</span>, <span class="s">"LogPath"</span>, <span class="s">"Not Read"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  Log <span class="k2">:</span><span class="k2">:</span> SetOutputFile <span class="k2">(</span> s <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>  Log <span class="k2">:</span><span class="k2">:</span> Write <span class="k2">(</span> <span class="s">"WrapAll::Setup started initialization!"</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>  Setup <span class="k2">:</span><span class="k2">:</span> InstallDevices<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>  Renderer <span class="k2">:</span><span class="k2">:</span> RenderMode renderMode <span class="k3">=</span> <span class="k1">static_cast</span> <span class="k3">&lt;</span>Renderer::RenderMode&gt;</td></tr><tr><td class="number">14</td><td>    <span class="k2">(</span> CfgFile::ReadInt <span class="k2">(</span> <span class="s">"Gfx"</span>, <span class="s">"RenderMode"</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  Renderer <span class="k2">:</span><span class="k2">:</span> WindowMode windowMode <span class="k3">=</span> <span class="k1">static_cast</span> <span class="k3">&lt;</span>Renderer::WindowMode&gt;</td></tr><tr><td class="number">16</td><td>    <span class="k2">(</span> CfgFile::ReadBool <span class="k2">(</span> <span class="s">"Gfx"</span>, <span class="s">"WindowMode"</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>  Renderer <span class="k2">:</span><span class="k2">:</span> SetupScreen<span class="k2">(</span> CfgFile::ReadInt <span class="k2">(</span> <span class="s">"Gfx"</span>, <span class="s">"ResolutionWidth"</span> <span class="k2">)</span>,</td></tr><tr><td class="number">19</td><td>         CfgFile::ReadInt <span class="k2">(</span> <span class="s">"Gfx"</span>, <span class="s">"ResolutionHeight"</span> <span class="k2">)</span>,</td></tr><tr><td class="number">20</td><td>         CfgFile::ReadInt <span class="k2">(</span> <span class="s">"Gfx"</span>, <span class="s">"ColorDepth"</span> <span class="k2">)</span>,</td></tr><tr><td class="number">21</td><td>         windowMode, renderMode <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>  Updater <span class="k2">:</span><span class="k2">:</span> Start <span class="k2">(</span> CfgFile::ReadInt <span class="k2">(</span> <span class="s">"Game"</span>, <span class="s">"TimerSpeed"</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>  FpsCounter <span class="k2">:</span><span class="k2">:</span> Start<span class="k2">(</span> CfgFile::ReadBool <span class="k2">(</span> <span class="s">"Misc"</span>, <span class="s">"ShowFps"</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>  Font <span class="k2">:</span><span class="k2">:</span> InstallFont<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
Everything gets initialized, only Log is associated with file &#39;Not Read&#39;. Well it&#39;s the only string that is being loaded in this procedure, so I&#39;ve tried even:
</p><div class="source-code snippet"><div class="inner"><pre>string s <span class="k3">=</span> <a href="http://www.allegro.cc/manual/get_config_string" target="_blank"><span class="a">get_config_string</span></a><span class="k2">(</span><span class="s">"Gfx"</span>, <span class="s">"ResolutionWidth"</span>, <span class="s">"Not Read"</span><span class="k2">)</span><span class="k2">;</span>
Log <span class="k2">:</span><span class="k2">:</span> SetOutputFile <span class="k2">(</span> s <span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
But with the same result. Well... I&#39;m attaching my Setup.cfg ( the file that is being read ), so someone else might try it.</p><p>I&#39;m gonna do some more tests meanwhile... Hopefully I&#39;m gonna find a solution.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mscava)</author>
		<pubDate>Sun, 10 Dec 2006 15:37:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Reading numbers etc work then? How does your CfgFile class look?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Sun, 10 Dec 2006 19:40:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes. Reading numbers works.</p><p>Really simple wrapper. I want to to add functionality in the future...
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">class</span> CfgFile
<span class="k2">{</span>
  public:
    <span class="k1">static</span> <span class="k1">void</span> SetCfgFile <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> path <span class="k2">)</span><span class="k2">;</span>

    <span class="k1">static</span> string ReadString <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span><span class="k2">;</span>
    <span class="k1">static</span> <span class="k1">int</span> ReadInt <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span><span class="k2">;</span>
    <span class="k1">static</span> <span class="k1">float</span> ReadFloat <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span><span class="k2">;</span>
    <span class="k1">static</span> <span class="k1">bool</span> ReadBool <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span><span class="k2">;</span>
</pre></div></div><p>

And now source file:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">void</span> CfgFile <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">2</td><td>SetCfgFile <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> path <span class="k2">)</span></td></tr><tr><td class="number">3</td><td><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  <a href="http://www.allegro.cc/manual/set_config_file" target="_blank"><span class="a">set_config_file</span></a> <span class="k2">(</span> path.c_str<span class="k2">(</span><span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td><span class="k2">}</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>string CfgFile <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">8</td><td>ReadString <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span></td></tr><tr><td class="number">9</td><td><span class="k2">{</span></td></tr><tr><td class="number">10</td><td>  <span class="k1">return</span> string <span class="k2">(</span> <a href="http://www.allegro.cc/manual/get_config_string" target="_blank"><span class="a">get_config_string</span></a><span class="k2">(</span> section.c_str<span class="k2">(</span><span class="k2">)</span>, name.c_str<span class="k2">(</span><span class="k2">)</span>, <span class="s">"Not Read"</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td><span class="k2">}</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="k1">int</span> CfgFile <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">14</td><td>ReadInt <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span></td></tr><tr><td class="number">15</td><td><span class="k2">{</span></td></tr><tr><td class="number">16</td><td>  <span class="k1">return</span> <a href="http://www.allegro.cc/manual/get_config_int" target="_blank"><span class="a">get_config_int</span></a> <span class="k2">(</span> section.c_str<span class="k2">(</span><span class="k2">)</span>, name.c_str<span class="k2">(</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td><span class="k2">}</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td><span class="k1">float</span> CfgFile <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">20</td><td>ReadFloat <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span></td></tr><tr><td class="number">21</td><td><span class="k2">{</span></td></tr><tr><td class="number">22</td><td>  <span class="k1">return</span> <a href="http://www.allegro.cc/manual/get_config_float" target="_blank"><span class="a">get_config_float</span></a> <span class="k2">(</span> section.c_str<span class="k2">(</span><span class="k2">)</span>, name.c_str<span class="k2">(</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td><span class="k2">}</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td><span class="k1">bool</span> CfgFile <span class="k2">:</span><span class="k2">:</span></td></tr><tr><td class="number">26</td><td>ReadBool <span class="k2">(</span> <span class="k1">const</span> string<span class="k3">&amp;</span> section, <span class="k1">const</span> string<span class="k3">&amp;</span> name <span class="k2">)</span></td></tr><tr><td class="number">27</td><td><span class="k2">{</span></td></tr><tr><td class="number">28</td><td>  <span class="k1">return</span> <span class="k2">(</span> <span class="k1">static_cast</span> <span class="k3">&lt;</span>bool&gt; <span class="k2">(</span> <a href="http://www.allegro.cc/manual/get_config_int" target="_blank"><span class="a">get_config_int</span></a> <span class="k2">(</span> section.c_str<span class="k2">(</span><span class="k2">)</span>, name.c_str<span class="k2">(</span><span class="k2">)</span>, <span class="n">0</span> <span class="k2">)</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
In the example I didn&#39;t used ReadString, so I&#39;m sure the problem is not in my class.</p><p>Well... Anyone tried to use my setup.cfg wheter it works. Or even tried to use get_config_string wheter it is not a bug?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (mscava)</author>
		<pubDate>Tue, 12 Dec 2006 20:38:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ve tested your file and it works for me. Also I&#39;m using the <tt>get_config_string();</tt> function many times in my custom project and never had problems with it.</p><p>It&#39;s probably bug in your code, sorry.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Tomasz Grajewski)</author>
		<pubDate>Tue, 12 Dec 2006 22:20:04 +0000</pubDate>
	</item>
</rss>
