<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Gambas.noxqs.org</title>
	<link>http://gambas.noxqs.org</link>
	<description>. . .  over het ontdekken en gebruiken van gambas</description>
	<pubDate>Fri, 13 Oct 2023 09:38:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Text entry fields, Objects and listboxes</title>
		<link>http://gambas.noxqs.org/?p=172</link>
		<comments>http://gambas.noxqs.org/?p=172#comments</comments>
		<pubDate>Fri, 04 Oct 2013 08:56:31 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=172</guid>
		<description><![CDATA[Creation and representation of objects on screen
Use case:

Text entry in TextBox field
Validation of entry
Creation of object from entry
Creation of item list that represents object

The objects themselves are stored in an array of objects: hArrObjcets AS NEW Object[]
The presentation happens with the name as string sName in a listbox lsbxObjects
Text entry

Jump to text box if appropiate; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Creation and representation of objects on screen</strong></p>
<p>Use case:</p>
<ol>
<li>Text entry in TextBox field</li>
<li>Validation of entry</li>
<li>Creation of object from entry</li>
<li>Creation of item list that represents object</li>
</ol>
<p>The objects themselves are stored in an array of objects: hArrObjcets AS NEW Object[]<br />
The presentation happens with the name as string sName in a listbox lsbxObjects</p>
<p><strong>Text entry</strong></p>
<ul>
<li>Jump to text box if appropiate; sequence of use in application; content has to be cleared or maintained to make a variation?</li>
<li>Text box must be writable (readonly=FALSE) and  look like (writable) &#8220;entry&#8221; field; i.e. same format allover the application (e.g. &#8220;lightbackground&#8221;, or white if other layout colored)</li>
<li>Pre-fill when usefull, at least give example in tooltip.</li>
<li>Make TAB jump to next relevant field, button or other screen object.</li>
</ul>
<p><strong>Validation</strong></p>
<ul>
<li>Event: _KeyPress makes you check for the enter key: Key.Code = Key.Enter OR Key.Code = Key.Return</li>
<li>If so, start the validation procedure</li>
<li>If successfull, check duplicate entry (if applies): IF lsbxObjects.Find(sName) = -1 </li>
<li>If ok, start procedure to add an object</li>
</ul>
<p><strong>Object creation</strong></p>
<ul>
<li>DIM newObject AS NEW ClassObect</li>
<li>newObject.propertyN = &#8230;; newObjectSet(&#8230;)</li>
<li>hArrObjects.Add(newObject, &#8230;)</li>
<li></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=172</wfw:commentRss>
		</item>
		<item>
		<title>Gambas IDE verknoeid / Screwed my Gambas IDE</title>
		<link>http://gambas.noxqs.org/?p=170</link>
		<comments>http://gambas.noxqs.org/?p=170#comments</comments>
		<pubDate>Tue, 12 Jul 2011 09:13:26 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[installatie log]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=170</guid>
		<description><![CDATA[


Door het installeren en compileren van een programma is mijn hele Gambas IDE in de problemen gekomen.
Het programma had als voorwaarden Gambas met een versienummer hoger dan de gebruikte versie 2.8 op OpenSUSE 11.0 (maar dat wist ik toen nog niet).
Het geïnstalleerde pakket was DBReport (Report-Designer and Printer); en ik heb het stap voor stap [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td valign=top>
Door het installeren en compileren van een programma is mijn hele Gambas IDE in de problemen gekomen.<br />
Het programma had als voorwaarden Gambas met een versienummer hoger dan de gebruikte versie 2.8 op OpenSUSE 11.0 (maar dat wist ik toen nog niet).<br />
Het geïnstalleerde pakket was <strong>DBReport (Report-Designer and Printer)</strong>; en ik heb het stap voor stap gecompileerd zoals beschreven in de handleiding.  Daarbij kreeg ik foutmeldingen die me uiteindelijk tot het inzicht van de hogere versie-vereisten brachten.</p>
<p>Nadien kon in Gambas niet meer gebruiken; foutmeldingen zoals hieronder:</p>
</td>
<td width=10></td>
<td valign=top><font color=blue><strong>Screwed my Gambas IDE</strong></p>
<p>Due to installing and compiling the application <strong>DBReport (Report-Designer and Printer)</strong>, I screwed up my <strong>Gambas IDE version 2.8</strong> that runs on an (old-ok) openSuse 11.0</p>
<p>This is the log of what happened when I tried to use the IDE afterwards:</p>
<p></font></td>
</tr>
</table>
<p> <a href="http://gambas.noxqs.org/?p=170#more-170" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=170</wfw:commentRss>
		</item>
		<item>
		<title>Rekenen met tijd in Gambas (uren, dagen)</title>
		<link>http://gambas.noxqs.org/?p=169</link>
		<comments>http://gambas.noxqs.org/?p=169#comments</comments>
		<pubDate>Sun, 05 Jun 2011 21:52:08 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=169</guid>
		<description><![CDATA[Om tijd vast te leggen op het moment zelf: Now()  geeft de huidige datum+tijd. Bekijk:
DEBUG Now() 
Toekennen aan een variabele:

PRIVATE dStartuptime AS Date
dStartuptime =  Now()
DEBUG Format$(dStartuptime, &#8220;hh:nn:ss&#8221;)

De debug regelt toont de variabele weergegeven in opgegeven patroon, waarbij &#8220;n&#8221; staat voor minuten (omdat de m al staat voor maand in het dagpatroon: yy-mm-dd).
Rekenen met [...]]]></description>
			<content:encoded><![CDATA[<p>Om tijd vast te leggen op het moment zelf: <strong>Now() </strong> geeft de huidige datum+tijd. Bekijk:</p>
<blockquote><p>DEBUG Now() </p></blockquote>
<p>Toekennen aan een variabele:</p>
<blockquote><p>
PRIVATE dStartuptime AS Date<br />
dStartuptime =  Now()<br />
DEBUG Format$(dStartuptime, &#8220;hh:nn:ss&#8221;)
</p></blockquote>
<p>De debug regelt toont de variabele weergegeven in opgegeven patroon, waarbij &#8220;n&#8221; staat voor minuten (omdat de m al staat voor maand in het dagpatroon: yy-mm-dd).</p>
<p>Rekenen met tijd of opgeslagen tijd gaat niet zo:<br />
DEBUG Now() - dStartuptime<br />
Dat geeft immers ofwel direct <em>0</em>, ofwel na acht seconden <em>9.055575355887E-5</em> en waarschijnlijk wil je een leesbaar getal, als een aantal minuten.</p>
<p>Hiervoor gebruik je de functie <strong>DateDiff</strong> met parameters oude tijd, nieuwe tijd, gecombineerd met uitvoerpatroon:</p>
<blockquote><p>
DEBUG DateDiff(dStartuptime, Now(), gb.Minute)<br />
DEBUG DateDiff(dStartuptime, Now(), gb.Minute)<br />
DEBUG DateDiff(dStartuptime, Now(), gb.Minute)</p></blockquote>
<p>Bij start is het resultaat:</p>
<blockquote><p><em>0<br />
0<br />
0<br />
</em>
</p></blockquote>
<p>Na 8 seconden is het resultaat:</p>
<blockquote><p><em>8<br />
0<br />
0<br />
</em>
</p></blockquote>
<p>En na 121 seconden is het:</p>
<blockquote><p><em>121<br />
2<br />
0<br />
</em></p></blockquote>
<p>Dus je hoeft niet zelf (het aantal minuten x 60 ) plus de seconden te doen; de seconden tellen door en kunnen gebruikt worden, of als je slechts de nauwkeurigheid van minuten nodig hebt kan je rechtstreeks met minuten werken.<br />
Na meer dan een hele dag wordt het, uitgedrukt in gb.Minute, gb.Hour, gb.Day:</p>
<blockquote><p><em>1547<br />
25<br />
2</em>
</p></blockquote>
<p>De eerste twee, minuten in uren:<br />
Van minuten naar uren: 1547/60 is 25.7833.. dus de uren worden &#8220;afgekapt&#8221;<br />
Maar de laatste in &#8220;dagen&#8221; telt een begonnen dag als een dag: hoewel het maar goed 25 uren zijn wordt 2 dagen aangegeven!</p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=169</wfw:commentRss>
		</item>
		<item>
		<title>Automatisch uitlijnen van schermobjecten met HBox, VBox, HPanel, VPanel</title>
		<link>http://gambas.noxqs.org/?p=165</link>
		<comments>http://gambas.noxqs.org/?p=165#comments</comments>
		<pubDate>Tue, 24 May 2011 14:15:15 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=165</guid>
		<description><![CDATA[De keuze in de bouwdoos:

Een aantal op het scherm gezet en gevuld met een eenvouidig text veld:

Ziet er zo uit als programma draait:

Volledige beelden onder elkaar:
]]></description>
			<content:encoded><![CDATA[<p>De keuze in de bouwdoos:</p>
<p><img src='http://gambas.noxqs.org/wp-content/uploads/2011/05/gambascontainershvboxhvpanel.png' alt='gambascontainershvboxhvpanel.png' /></p>
<p>Een aantal op het scherm gezet en gevuld met een eenvouidig text veld:</p>
<p><a href='http://gambas.noxqs.org/wp-content/uploads/2011/05/gambashvboxhvpanel.png' title='gambashvboxhvpanel.png'><img src='http://gambas.noxqs.org/wp-content/uploads/2011/05/gambashvboxhvpanel.thumbnail.png' alt='gambashvboxhvpanel.png' /></a></p>
<p>Ziet er zo uit als programma draait:</p>
<p><a href='http://gambas.noxqs.org/wp-content/uploads/2011/05/gambashvboxhvpanelrun.png' title='gambashvboxhvpanelrun.png'><img src='http://gambas.noxqs.org/wp-content/uploads/2011/05/gambashvboxhvpanelrun.thumbnail.png' alt='gambashvboxhvpanelrun.png' /></a></p>
<p>Volledige beelden onder elkaar:  <a href="http://gambas.noxqs.org/?p=165#more-165" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=165</wfw:commentRss>
		</item>
		<item>
		<title>Hoe data in een cel steken van een TableView</title>
		<link>http://gambas.noxqs.org/?p=164</link>
		<comments>http://gambas.noxqs.org/?p=164#comments</comments>
		<pubDate>Tue, 26 Apr 2011 08:49:52 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=164</guid>
		<description><![CDATA[Zet op een Form bv Form1 een tabel met de eigenschap TableView, bv tbvwFill.
Het gemakkelijkst is waarschijnlijk om de tabel te initialiseren door code die je oproept bij het openen van de Form waar ze in staat:
PUBLIC SUB Form_Open()

  initTableView()

END
Je moet dan een procedure daarvoor maken:
PUBLIC SUB initTableView()

Daarin moet je zeker bepalen wat de [...]]]></description>
			<content:encoded><![CDATA[<p>Zet op een <code>Form</code> bv <em>Form1</em> een tabel met de eigenschap <code>TableView</code>, bv <em>tbvwFill</em>.<br />
Het gemakkelijkst is waarschijnlijk om de tabel te initialiseren door code die je oproept bij het openen van de Form waar ze in staat:</p>
<pre>PUBLIC SUB Form_Open()

  initTableView()

END</pre>
<p>Je moet dan een procedure daarvoor maken:</p>
<pre>PUBLIC SUB initTableView()
</pre>
<p>Daarin moet je zeker bepalen wat de grootte van de tabel is, m.a.w. hoeveel cellen horizontaal en hoeveel vertikaal.  Daarvoor &#8220;zet&#8221; je de eigenschap van de kolom en rij-teller door er een waarde of de waarde van een bestaande variabele aan toe te kennen:</p>
<pre>  tbvwFill.Columns.Count = 3
  tbvwFill.Rows.Count = iDefinedRows
</pre>
<p>Je kan het aantal natuurlijk laten bepalen door een globale variabele die je elders reeds gevuld had:</p>
<pre>  tbvwFill.Rows.Count = FMain.$hMonth.GrdTotRows()
</pre>
<ul>
<li>FMain: het hoofdscherm van waaruit het huidig scherm (<em>Form1</em>) wordt opgeroepen</li>
<li>$hMonth is een object dat een maand voorstelt, daar een aantal eigenschappen over heeft, en gedefinieerd werd in FMain.</li>
<li>GrTotRows is een eigenschap van object $hMonth, de waarde is al toegekend in FMain; of hier is het eigenlijk een functie van het object $hMonth die deze waarde berekent op basis van andere eigenschappen en teruggeeft als waarde.</li>
</ul>
<p>Op deze manier kan het aantal rijen van tabellen in verschillende forms gestuurd worden uit 1 variabele.</p>
<p>Een waarde toekennen aan de twee cellen of velden van de bovenste rij in de tabel:</p>
<pre>  tbvwFill[0, 0].Text = "ID"
  tbvwFill[0, 1].Text = "Naam"
  iRowStartEmployees = 1
</pre>
<p>Procedure natuurlijk altijd afsluiten met </p>
<pre>END</pre>
<p>Het vullen van de tabel kan o.a. met een FOR EACH loop, bv met waarden uit een resultset - hier $hResEmployees - die op voorhand gevuld werd met waarden uit een databank.</p>
<pre>
  FOR EACH $hResEmployees
    tbvwFill[$hResEmployees.Index + iRowStartEmployees, 0].Text = $hResEmployees!emp_id
    tbvwFill[$hResEmployees.Index + iRowStartEmployees, 1].Text = $hResEmployees!emp_name
  NEXT
</pre>
<p>De eerste twee kolommen (kolom 0 en kolom 1) worden gevuld met een de velden id en name uit de database.<br />
De eerste rij wordt hier niet gebruikt (rij 0) omdat daar de titel in staat.</p>
<p>Dan moet ervoor gezorgd worden dat als je op de tabel klikt, je de waarde van de cel kan wijzigen:</p>
<pre>PUBLIC SUB tbvwFill_Click()

  tbvwFill.Edit()

END</pre>
<p>En tenslotte moet je ervoor zorgen dat die ingevulde waarde ook behouden blijft in de cel:<br />
Daarvoor moet je de methode <code>_Save</code> van de tabel zelf aanvullen met code:</p>
<pre>
PUBLIC SUB tbvwFill_Save(x AS Integer, y AS Integer, sText AS String)

  tbvwFill[x, y].Text = sText

END</pre>
<p>Je kan hier natuurlijk binnen deze code controles op uitvoeren enz.</p>
<p>- NB: - - <a href="http://gambas.noxqs.org/?p=164#more-164" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=164</wfw:commentRss>
		</item>
		<item>
		<title>Overal programmeren (met live-dvd)</title>
		<link>http://gambas.noxqs.org/?p=163</link>
		<comments>http://gambas.noxqs.org/?p=163#comments</comments>
		<pubDate>Sun, 12 Dec 2010 08:57:34 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[installatie log]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=163</guid>
		<description><![CDATA[Een triple boot DVD (bij LXF139) bevat drie versies van Ubuntu: Ubuntu, Xubuntu en Kubuntu.  Ubuntu 2010 bevat Gambas 2.21, zelfs in de live dvd versie (systeem draaien van dvd zonder te installeren op de harde schijf).  Dat betekent dat je met deze dvd zowat overal kan programmeren; ofwel moet je project op [...]]]></description>
			<content:encoded><![CDATA[<p>Een triple boot DVD (bij LXF139) bevat drie versies van Ubuntu: Ubuntu, Xubuntu en Kubuntu.  Ubuntu 2010 bevat Gambas 2.21, zelfs in de live dvd versie (systeem draaien van dvd zonder te installeren op de harde schijf).  Dat betekent dat je met deze dvd zowat overal kan programmeren; ofwel moet je project op usb-stick/harddisk staan, ofwel online, naargelang je mogelijkheden en omstandigheden.</p>
<p>Start eender welke computer met de DVD, download je broncode, werk er verder aan, upload het resultaat.  Al is het maar om wat vertalingswerk te doen, want een databank installeren op een live distro is natuurlijk al wat omslachtiger.</p>
<p>Dank u, Ubuntu!</p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=163</wfw:commentRss>
		</item>
		<item>
		<title>Standaard leeg project</title>
		<link>http://gambas.noxqs.org/?p=161</link>
		<comments>http://gambas.noxqs.org/?p=161#comments</comments>
		<pubDate>Wed, 04 Aug 2010 09:04:31 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=161</guid>
		<description><![CDATA[Project Type: Graphical application.
Options:

Internationalisation
Database access
Settings files management

Name: EmptyProject
Title: Empty Project
FMain: Menu met

File: Quit

Help: About, Changes, License

Form_Open: zet programma titel en versie.
doClose(): aangeroepen bij Menu/Quit (of scherm &#8220;Exit&#8221; button); kan afsluitende code aanroepen (wegschrijven toestand)
FAbout: About logo en tekst: naam plus versie.
FLicense: Toont License.txt
FChanges: Toont Changes.txt
Misschien nog een &#8220;test&#8221; menu-item dat alleen verschijnt als de conf [...]]]></description>
			<content:encoded><![CDATA[<p>Project Type: Graphical application.<br />
Options:
<ul>
<li>Internationalisation</li>
<li>Database access</li>
<li>Settings files management</li>
</ul>
<p>Name: EmptyProject<br />
Title: Empty Project</p>
<p><strong>FMain</strong>: Menu met</p>
<ul>
<li>File: Quit</li>
<li></li>
<li>Help: About, Changes, License</li>
</ul>
<p>Form_Open: zet programma titel en versie.<br />
doClose(): aangeroepen bij Menu/Quit (of scherm &#8220;Exit&#8221; button); kan afsluitende code aanroepen (wegschrijven toestand)</p>
<p><strong>FAbout</strong>: About logo en tekst: naam plus versie.</p>
<p><strong>FLicense</strong>: Toont License.txt<br />
<strong>FChanges</strong>: Toont Changes.txt</p>
<p>Misschien nog een &#8220;test&#8221; menu-item dat alleen verschijnt als de conf file de een verwijzing bevat:</p>
<blockquote><p>[Mode]<br />
Developer=&#8221;TRUE&#8221;</p></blockquote>
<p>Daaronder kunnen dat stukjes code getest worden die nog niet zijn vrijgegeven voor gebruik.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=161</wfw:commentRss>
		</item>
		<item>
		<title>TabStrip: hoe tab-bladen bijmaken en aanspreken?</title>
		<link>http://gambas.noxqs.org/?p=160</link>
		<comments>http://gambas.noxqs.org/?p=160#comments</comments>
		<pubDate>Tue, 03 Aug 2010 07:53:50 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=160</guid>
		<description><![CDATA[Een tabstrip zit in de Toolbox onder de tab &#8220;Container&#8221;.
Eens op het werkvlak getekend heeft hij slechts 1 tab: Tab0.
Als je terug naar de Toolbox gaat zoeken om tab-bladen bij te maken vind je dat daar niet.
Als je op het TabStrip rechtsklikt om tab-bladen bij te maken vind je alleen &#8220;Move Tab&#8221;, niet &#8220;Create&#8221;
 
Om [...]]]></description>
			<content:encoded><![CDATA[<p>Een tabstrip zit in de Toolbox onder de tab &#8220;Container&#8221;.<br />
Eens op het werkvlak getekend heeft hij slechts 1 tab: Tab0.<br />
Als je terug naar de Toolbox gaat zoeken om tab-bladen bij te maken vind je dat daar niet.<br />
Als je op het TabStrip rechtsklikt om tab-bladen bij te maken vind je alleen &#8220;Move Tab&#8221;, niet &#8220;Create&#8221;</p>
<div><img src="http://gambas.noxqs.org/wp-content/uploads/2008/11/tabstripconfig.png" alt="Tabstrip met tab-bladen" align="left" hspace="10" vspace="5"/> </p>
<p>Om tabs bij te maken moet je de &#8220;teller&#8221; van de tabstrip verhogen:<br />
&#8220;Count&#8221; staat op 1.</p>
<p>Zet op het gewenste aantal.
</p></div>
<p>Dit kan natuurlijk ook vanuit je programma, bv:</p>
<p><code>TabStrip1.Count = 3</code></p>
<p>Daarna kan je de tabbladen aanspreken met </p>
<p><code>TabStrip1.Index = 2   ' <em>aktief maken van tabblad 2; dwz het derde want er wordt geteld tab0 tab1 tab2.</em></code></p>
<p>Een tabblad kan ook verborgen worden:<br />
<code><br />
TabStrip1.Current.Visible = FALSE    ' <em>verbergen van een tabblad, hier dus dat derde.</em><br />
TabStrip1[0].Visible = FALSE  &#8216;<em> of bepaal het tabblad met de index</em><br />
</code><br />
<code>TabStrip1.Hide ' <em>verbergen van heel de tabstrip</em> </code></p>
<p>Bij de eigenschappen rechts in het ontwerpscherm zie je nog meer mogelijkheden, als een pictogram opnemen enz.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=160</wfw:commentRss>
		</item>
		<item>
		<title>Columnview: kolomtitel invullen, item invullen</title>
		<link>http://gambas.noxqs.org/?p=158</link>
		<comments>http://gambas.noxqs.org/?p=158#comments</comments>
		<pubDate>Wed, 02 Jun 2010 10:37:44 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=158</guid>
		<description><![CDATA[Nieuw formulier FMain, daarop een columnview &#8220;cvTwoCols&#8221;.
Eerst moeten de dimensies opgegeven worden met Columns.Count.
Dan kunnen de titels ingevuld worden.
Dan kunnen lijnen bijgemaakt worden met een zelfgekozen sleutel waarmee een opvraging kan gebeuren.
Tenslotte kan
- genavigeerd worden met MoveTo,
- een waarde gewijzigd,
- of de waarde in een bij de lijn horende kolom ingevuld worden.
PUBLIC SUB btFillColView_Click()
  [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://gambas.noxqs.org/wp-content/uploads/2010/06/gridviewdemo.png' title='Gridview, Columnview'><img src='http://gambas.noxqs.org/wp-content/uploads/2010/06/gridviewdemo.png' width='50%' alt='Gridview, Columnview' align='right' hspace='10' /></a>Nieuw formulier FMain, daarop een columnview &#8220;cvTwoCols&#8221;.</p>
<p>Eerst moeten de dimensies opgegeven worden met Columns.Count.<br />
Dan kunnen de titels ingevuld worden.<br />
Dan kunnen lijnen bijgemaakt worden met een zelfgekozen sleutel waarmee een opvraging kan gebeuren.<br />
Tenslotte kan<br />
- genavigeerd worden met MoveTo,<br />
- een waarde gewijzigd,<br />
- of de waarde in een bij de lijn horende kolom ingevuld worden.</p>
<p><code>PUBLIC SUB btFillColView_Click()<br />
  '<br />
  cvTwoCols.Columns.Count = 2<br />
  '<br />
  cvTwoCols.Columns[0].Text = "code"<br />
  cvTwoCols.Columns[0].Width = 50<br />
  cvTwoCols.Columns[1].Text = "description"<br />
  cvTwoCols.Columns[1].Width = 100<br />
  '<br />
  cvTwoCols.Add("0", "test1")<br />
  cvTwoCols.Add("1", "test2")<br />
  '<br />
  ' and now? How to add something to the second column?<br />
  cvTwoCols.MoveTo("0")<br />
  cvTwoCols.Current.Text = "Test1"<br />
  cvTwoCols.Item[1] = "TestItem"<br />
  '<br />
END</p>
<p></code></p>
<p>update griddemo <a href="/download/demo/GridDemo/">download/demo/GridDemo/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=158</wfw:commentRss>
		</item>
		<item>
		<title>html rapport weergeven of printen</title>
		<link>http://gambas.noxqs.org/?p=157</link>
		<comments>http://gambas.noxqs.org/?p=157#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:58:10 +0000</pubDate>
		<dc:creator>wig</dc:creator>
		
		<category><![CDATA[Gamblog]]></category>

		<guid isPermaLink="false">http://gambas.noxqs.org/?p=157</guid>
		<description><![CDATA[Uitvoer kan je eenvoudig doen in html-bestanden, die je lokaal schrijft en opent met een browser. 
Maak een module met alle printonderdelen, en met bovenaan
PUBLIC bToPrint AS Boolean
&#8216;
PRIVATE hFile AS File

schrijf een bestand 
    OPEN sFilename FOR WRITE CREATE AS #hFile
    pushHeader(bToPrint)

dat je begint met een kop die zo [...]]]></description>
			<content:encoded><![CDATA[<p>Uitvoer kan je eenvoudig doen in html-bestanden, die je lokaal schrijft en opent met een browser. </p>
<p>Maak een module met alle printonderdelen, en met bovenaan</p>
<blockquote><p>PUBLIC bToPrint AS Boolean<br />
&#8216;<br />
PRIVATE hFile AS File
</p></blockquote>
<p>schrijf een bestand </p>
<blockquote><p>    OPEN sFilename FOR WRITE CREATE AS #hFile<br />
    pushHeader(bToPrint)
</p></blockquote>
<p>dat je begint met een kop die zo gemaakt wordt:<br />
<em>( de < en > tekens moeten natuurlijk aansluiten zonder spaties in je code)</em></p>
<p><code><br />
PUBLIC SUB pushHeader(bToPrinter AS Boolean)<br />
  '<br />
  PRINT #hFile, " < html > &#8221;<br />
  PRINT #hFile, &#8221; < head > < title > &#8221; &#038; Application.Name &#038; &#8221; - by &#8221; &#038; User.Name &#038; &#8221; < /title > < /head > &#8221;<br />
  PRINT #hFile, &#8221; < body topmargin='0' leftmargin='0' fontsize='1'"<br />
  '<br />
  IF (bToPrinter) THEN<br />
    DEBUG "To printer ..."<br />
    PRINT #hFile, " onload='window.print()'"<br />
    ' only works when java is on<br />
  ENDIF<br />
  '<br />
  PRINT #hFile, " > &#8221;<br />
  &#8216;<br />
END<br />
</code></p>
<p>Daarna stuur je alle gegevenslijnen, eventueel in de vorm van een tabel, en sluit je het af met een &#8220;footer&#8221;</p>
<p><code>PUBLIC SUB pushFooter()<br />
'<br />
  PRINT #hFile, " < br > < font size='1' > &#8221; &#038; &#8220;FACS &#8221; &#038; Application.Version<br />
  PRINT #hFile, &#8221; < i >  via &#8221; &#038; MCommon.sReportDir &#038; &#8221; &#8221;<br />
  PRINT #hFile, &#8220;by &#8221; &#038; User.Name &#038; &#8220;.&#8221; &#038; System.Host &#038; &#8221; at &#8221; &#038; CStr(Date(Now())) &#038; &#8221; - &#8221; &#038; Left$(CStr(Time(Now())), 5)<br />
  PRINT #hFile, &#8221; < /i > &#8221;<br />
  PRINT #hFile, &#8221; < /font > &#8221;<br />
  PRINT #hFile, &#8221; < /body > &#8221;<br />
  PRINT #hFile, &#8221; < /html > &#8221;<br />
&#8216;<br />
END</p>
<p></code></p>
<p>Bestand afsluiten met CLOSE na het vullen:</p>
<blockquote><p>
    &#8230;<br />
    pushTableHeadwSub(sTitle, arrColNames, sSql, arrColTotals)<br />
    pushTableLines(resCostcode, arrColTotals)<br />
    pushTableFooter()<br />
    pushFooter()<br />
&#8216;<br />
  CLOSE #hFile
</p></blockquote>
<p>Als de volledige bestandsnaam met het volledige pad in de variabele sFilename zit, bv:</p>
<p>sFilename = &#8220;/home/mijnnaam/Documents/ToPrint/test.html&#8221;</p>
<p>dan kan je de pagina openen in een browser:</p>
<p><code><br />
 EXEC ["konqueror", sFilename]<br />
 EXEC ["firefox", sFilename]<br />
</code></p>
<p> (dit is in de KDE omgeving uitgevoerd - Gnome heeft bv geen konqueror standaard geïnstalleerd)</p>
]]></content:encoded>
			<wfw:commentRss>http://gambas.noxqs.org/?feed=rss2&amp;p=157</wfw:commentRss>
		</item>
	</channel>
</rss>
