<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>SQLite3 &amp; AGUP list trouble</title>
		<link>http://www.allegro.cc/forums/view/582236</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 29 Apr 2006 01:32:10 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m quite stuck (again::)). I want to read in all records from an SQLite3 table and show them in a list (the type you can select something in). This&#39;s the example code:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">char</span> <span class="k3">*</span>lister<span class="k2">(</span><span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a>, <span class="k1">int</span> <span class="k3">*</span>list_size<span class="k2">)</span> <span class="k2">{</span>
    <span class="k1">static</span> <span class="k1">char</span> items<span class="k2">[</span><span class="n">10</span><span class="k2">]</span><span class="k2">[</span><span class="n">32</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="s">"box"</span>, <span class="s">"text"</span>, <span class="s">"input"</span>, <span class="s">"button"</span>, <span class="s">"menu"</span>,
       <span class="s">"selection"</span>, <span class="s">"slider"</span>, <span class="s">"scrollbar"</span>, <span class="s">"list"</span>, <span class="s">"window"</span><span class="k2">}</span><span class="k2">;</span>
    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span>
        <span class="k1">return</span> items<span class="k2">[</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">]</span><span class="k2">;</span>
    <span class="k2">}</span>
    <span class="k1">else</span> <span class="k2">{</span>
        <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
        <span class="k3">*</span>list_size <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">;</span>
    <span class="k2">}</span>

    <span class="k1">return</span> NULL<span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

The problems start to arise as soon as I want to change the 10 to the amount of records. I&#39;ve got to remove the static then, which gets other parts to complain (especially either assigning a string like &quot;test&quot; to it, or in the return items[index] or due to the function&#39;s return type). Anybody here able to put me in the right direction? Thanks in advance.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Raf Vermeulen)</author>
		<pubDate>Sat, 29 Apr 2006 00:34:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t understand what the above code bit has anything to do with either SQLite3 or AGUP. I also can&#39;t understand the words below the code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CGamesPlay)</author>
		<pubDate>Sat, 29 Apr 2006 01:19:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That&#39;s part of the example code from AGUP, which creates the contents of a list-box. The words underneath basically mean that it got me to fiddle &#39;round and &#39;round to get it to work. It currently got me to this:
</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">char</span> <span class="k3">*</span>lister<span class="k2">(</span><span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a>, <span class="k1">int</span> <span class="k3">*</span>list_size<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">2</td><td>  <span class="k1">int</span> records<span class="k2">;</span></td></tr><tr><td class="number">3</td><td>  records <span class="k3">=</span> count_records<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>  </td></tr><tr><td class="number">5</td><td>  <span class="k1">int</span> open_dbase<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>zErrMsg <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  <span class="k1">int</span> result<span class="k2">;</span>  </td></tr><tr><td class="number">8</td><td>  sqlite3_stmt <span class="k3">*</span>stmt <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>  <span class="k1">char</span> <span class="k3">*</span>items<span class="k2">[</span>records<span class="k2">]</span><span class="k2">[</span><span class="k2">(</span>LENGTH <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> MAX_BYTES_PER_CHAR<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    </td></tr><tr><td class="number">12</td><td>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> i <span class="k3">&lt;</span><span class="k3">=</span> records<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>    items<span class="k3">&lt;</span>i&gt;<span class="k2">[</span><span class="k2">(</span>LENGTH <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> MAX_BYTES_PER_CHAR<span class="k2">]</span> <span class="k3">=</span> <span class="s">"Test test"</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Item: "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> items<span class="k3">&lt;</span>i&gt;<span class="k2">[</span><span class="k2">(</span>LENGTH <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> MAX_BYTES_PER_CHAR<span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"\n"</span><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>&#160;</td></tr><tr><td class="number">17</td><td>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">18</td><td>    <span class="k1">return</span> items<span class="k2">[</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">]</span><span class="k2">[</span><span class="k2">(</span>LENGTH <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">*</span> MAX_BYTES_PER_CHAR<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">20</td><td>  <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    <span class="k3">*</span>list_size <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><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">return</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">26</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
It works fine, and the cout comes on, but then the whole program crashes. The function&#39;s called in this code:</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">int</span> show_dbase<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">2</td><td>    <span class="k1">int</span> count <span class="k3">=</span> count_records<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">char</span> sel2<span class="k2">[</span>count<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>    <a href="http://www.allegro.cc/manual/DIALOG" target="_blank"><span class="a">DIALOG</span></a> show_dlg<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span></td></tr><tr><td class="number">6</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>      <span class="c">/* (dialog proc)     (x)   (y)   (w)   (h) (fg)(bg) (key) (flags)     (d1) (d2)    (dp)                   (dp2) (dp3) */</span></td></tr><tr><td class="number">8</td><td>   </td></tr><tr><td class="number">9</td><td>      <span class="c">/* this element just clears the screen, therefore it should come before the others */</span></td></tr><tr><td class="number">10</td><td>     <span class="k2">{</span> d_agup_clear_proc,        <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>      <span class="c">// Show records</span></td></tr><tr><td class="number">13</td><td>    <span class="k2">{</span> d_agup_list_proc,         <span class="n">40</span>, <span class="n">25</span>, <span class="n">200</span>,  <span class="n">150</span>,  <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,       <span class="n">0</span>,    <span class="n">0</span>,  <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>lister,               <span class="n">0</span>,  <span class="n">0</span> <span class="k2">}</span>,</td></tr><tr><td class="number">14</td><td>      <span class="k2">{</span> d_agup_push_proc,     <span class="n">90</span>, <span class="n">180</span>, <span class="n">100</span>, <span class="n">18</span>,  <span class="n">0</span>,  <span class="n">0</span>,  <span class="n">0</span>,  <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,  <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span><span class="s">"Back"</span>,     <span class="n">0</span>,  <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>closebutton <span class="k2">}</span>,</td></tr><tr><td class="number">15</td><td>     <span class="k2">{</span> d_agup_push_proc,     <span class="n">275</span>, <span class="n">10</span>, <span class="n">10</span>, <span class="n">18</span>,  <span class="n">0</span>,  <span class="n">0</span>,  <span class="n">0</span>,  <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,  <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span><span class="s">"?"</span>,     <span class="n">0</span>,  <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>about <span class="k2">}</span>,</td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>     <span class="c">/* the next two elements don't draw anything */</span></td></tr><tr><td class="number">18</td><td>     <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_yield_proc" target="_blank"><span class="a">d_yield_proc</span></a>,        <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">19</td><td>     <span class="k2">{</span> NULL,                <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span></td></tr><tr><td class="number">20</td><td>    <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>    set_gui<span class="k2">(</span>show_dlg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>    </td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>  <span class="k1">return</span> D_REDRAW<span class="k2">;</span>   </td></tr><tr><td class="number">26</td><td>     </td></tr><tr><td class="number">27</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Raf Vermeulen)</author>
		<pubDate>Sat, 29 Apr 2006 01:32:10 +0000</pubDate>
	</item>
</rss>
