<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.gambas-it.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Picavbg</id>
	<title>Gambas-it.org - Wikipedia - Contributi dell&amp;#039;utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://www.gambas-it.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Picavbg"/>
	<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php/Speciale:Contributi/Picavbg"/>
	<updated>2026-10-23T11:17:12Z</updated>
	<subtitle>Contributi dell&amp;#039;utente</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=13648</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=13648"/>
		<updated>2013-09-05T20:29:04Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, sia stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
 '''Public''' Sub GridView1_DblClick()&lt;br /&gt;
   GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Sub GridView2_DblClick()&lt;br /&gt;
   GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
 '''Private''' Sub GriViewComu_DblClick() &lt;br /&gt;
 Dim iInd1 As Integer&lt;br /&gt;
 Dim iInd2 As Integer&lt;br /&gt;
 &lt;br /&gt;
   oGridView1 = New Object[ ]&lt;br /&gt;
   oGridView2 = New Object[ ]&lt;br /&gt;
   If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
      oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
      oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
   Else&lt;br /&gt;
      oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
      oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
   Endif&lt;br /&gt;
   For Each oIndGridView1 In oGridView1 &lt;br /&gt;
   Next&lt;br /&gt;
   For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
   Next&lt;br /&gt;
   iInd1 = oIndGridView1.Row&lt;br /&gt;
   For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
     If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
       oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
       oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
       oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
       oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
       oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
       oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
     Endif&lt;br /&gt;
   Next&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. Lo stesso effetto, in senso opposto, avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10813</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10813"/>
		<updated>2013-02-11T21:13:01Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
 '''Public''' Sub GridView1_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Sub GridView2_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
 '''Private''' Sub GriMovDblClick_Comu() &lt;br /&gt;
 Dim iInd1 As Integer&lt;br /&gt;
 Dim iInd2 As Integer&lt;br /&gt;
 &lt;br /&gt;
 oGridView1 = New Object[ ]&lt;br /&gt;
 oGridView2 = New Object[ ]&lt;br /&gt;
 If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
 Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
 iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
   If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
     oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
     oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
     oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
     oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
     oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
     oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
   Endif&lt;br /&gt;
 Next&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10812</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10812"/>
		<updated>2013-02-11T21:12:15Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
 '''Public''' Sub GridView1_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Sub GridView2_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
 Private Sub GriMovDblClick_Comu() &lt;br /&gt;
 Dim iInd1 As Integer&lt;br /&gt;
 Dim iInd2 As Integer&lt;br /&gt;
 &lt;br /&gt;
 oGridView1 = New Object[ ]&lt;br /&gt;
 oGridView2 = New Object[ ]&lt;br /&gt;
 If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
 Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
 iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
   If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
     oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
     oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
     oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
     oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
     oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
     oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
   Endif&lt;br /&gt;
 Next&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10811</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10811"/>
		<updated>2013-02-11T21:09:42Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
 '''Public''' Sub GridView1_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Sub GridView2_DblClick()&lt;br /&gt;
 GriViewComu_DblClick&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10810</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10810"/>
		<updated>2013-02-11T21:08:45Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
 '''Public''' Sub GridView1_DblClick()&lt;br /&gt;
 GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
 '''End'''&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
 GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
 '''End'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10809</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10809"/>
		<updated>2013-02-11T21:06:52Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10808</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10808"/>
		<updated>2013-02-11T21:05:13Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private''' oGridView1 As Object[ ]&lt;br /&gt;
 '''Private''' oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 Private oInd1 As Object&lt;br /&gt;
 Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10807</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10807"/>
		<updated>2013-02-11T21:03:56Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private''' oGridView1 As Object[ ]&lt;br /&gt;
 '''Private''' oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10806</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10806"/>
		<updated>2013-02-11T21:01:52Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private oGridView1 As Object[ ]&lt;br /&gt;
 Private oGridView2 As Object[ ]&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10805</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10805"/>
		<updated>2013-02-11T21:01:06Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ] '''&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10804</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10804"/>
		<updated>2013-02-11T21:00:30Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private''' oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
 ''' '''&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10803</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10803"/>
		<updated>2013-02-11T20:59:41Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 '''Private''' oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object'''[ ] '''&lt;br /&gt;
 &lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10802</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10802"/>
		<updated>2013-02-11T20:55:57Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ] &lt;br /&gt;
 &lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object &lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10801</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10801"/>
		<updated>2013-02-11T20:54:37Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView:&lt;br /&gt;
 &lt;br /&gt;
Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
 &lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10800</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10800"/>
		<updated>2013-02-11T20:53:01Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView:&lt;br /&gt;
 &lt;br /&gt;
Private oGridView1 As Object[ ] &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
 &lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
 &lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10786</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10786"/>
		<updated>2013-02-11T15:53:32Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView1 As Object[ ] &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10785</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10785"/>
		<updated>2013-02-11T15:52:37Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView1 As Object[ ] &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BLOCKQUOTE&amp;gt;Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;BLOCKQUOTE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10784</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10784"/>
		<updated>2013-02-11T15:50:21Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView1 As Object[ ] &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick()&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CODE&amp;gt; Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10783</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10783"/>
		<updated>2013-02-11T15:47:14Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView1 As Object[ ] &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd1 As Object &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt; &lt;br /&gt;
Public Sub GridView1_DblClick()&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick() &amp;lt;BR&amp;gt;&lt;br /&gt;
GriViewComu_DblClick &amp;lt;BR&amp;gt;&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere: &amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;CODE&amp;gt;&lt;br /&gt;
Private Sub GriMovDblClick_Comu() &lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
...&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/CODE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10782</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10782"/>
		<updated>2013-02-11T15:40:32Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&amp;lt;BR&amp;gt;&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView: &amp;lt;BR&amp;gt;&lt;br /&gt;
Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView:&lt;br /&gt;
Private oInd1 As Object&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
Public Sub GridView1_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
Private Sub GriMovDblClick_Comu()&lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
...&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10781</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10781"/>
		<updated>2013-02-11T15:37:30Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Trasferire il contenuto di una GridView ad un'altra e viceversa''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView:&lt;br /&gt;
Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView:&lt;br /&gt;
Private oInd1 As Object&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
Public Sub GridView1_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
Private Sub GriMovDblClick_Comu()&lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
...&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10780</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10780"/>
		<updated>2013-02-11T15:35:47Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;br /&gt;
&lt;br /&gt;
Trasferire il contenuto di una GridView ad un'altra e viceversa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Immagianiamo una data Form contenente due GridView di cui una di esse, la prima o la seconda, non importa quale, è stata caricata con valori diversi in più righe. L'altra Gridview può essere vuota o pure parzialmente riempita. Lo scopo è quello di trasferire, tramite doppio click su ciascuna riga, il contenuto di tutte le caselle, colonna dopo colonna, da una GridView all'altra. Col trasferimento si vuole ottenere infatti una diversa ridistribuzione dei dati presenti nelle GridView, in funzione delle necessità operative dell'utente.&lt;br /&gt;
&lt;br /&gt;
In Gambas non è possibile puntare all'indirizzo di un oggetto. Esiste però la possibilità di creare una nuova istanza, copiando il contenuto delle due GridView in un array da gestire con appropriati indici.&lt;br /&gt;
Una volta disegnate le due Gridview, si procede alle stesura del codice necessario all'esecuzione del programma.&lt;br /&gt;
&lt;br /&gt;
Dopo avere nominate le due GridView:Es. GridView1 e Gridview2, si passa a scrivere:&lt;br /&gt;
1) nella sezione Dichirazioni della Form.Class relativa la dichiarazione degli oggetti costituenti la nuova istanza delle due GridView:&lt;br /&gt;
Private oGridView1 As Object[ ]&lt;br /&gt;
Private oGridView2 As Object[ ]&lt;br /&gt;
&lt;br /&gt;
2) gli oggetti indice che serviranno successivamente per indirizzare il puntamento alle righe delle due GridView:&lt;br /&gt;
Private oInd1 As Object&lt;br /&gt;
Private oInd2 As Object&lt;br /&gt;
&lt;br /&gt;
3) Nelle procedure evento _DblClick delle due GridView basta richiamare un'unica procedura Sub o Function, destinata a contenere le istruzioni di trattamento del testo della riga, selezionata di volta in volta:&lt;br /&gt;
Public Sub GridView1_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Public Sub GridView2_DblClick()&lt;br /&gt;
GriViewComu_DblClick&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
4) La procedura comune potrebbe essere:&lt;br /&gt;
Private Sub GriMovDblClick_Comu()&lt;br /&gt;
Dim iInd1 As Integer&lt;br /&gt;
Dim iInd2 As Integer&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
oGridView1 = New Object[ ]&lt;br /&gt;
oGridView2 = New Object[ ]&lt;br /&gt;
If Last.Name = &amp;quot;GridView1&amp;quot; Then&lt;br /&gt;
    oGridView1.Add(GridView1) 		'GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView2) 		'GridView di arrivo&lt;br /&gt;
Else&lt;br /&gt;
    oGridView1.Add(GridView2) 		'nuova GridView di partenza&lt;br /&gt;
    oGridView2.Add(GridView1) 		'nuova GridView di arrivo&lt;br /&gt;
 Endif&lt;br /&gt;
 For Each oIndGridView1 In oGridView1 &lt;br /&gt;
 Next&lt;br /&gt;
 For Each oIndGridView2 In oGridView2 │&lt;br /&gt;
 Next&lt;br /&gt;
iInd1 = oIndGridView1.Row&lt;br /&gt;
 For iInd2 = 0 To oIndGridView2.Rows.count – 1&lt;br /&gt;
 If oIndGridView2[iInd2, 0].Text &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
 oIndGridView2[iInd2, 0].Text = oIndGridView1[iInd1, 0].Text&lt;br /&gt;
 oIndGridView2[iInd2, 1].Text = oIndGridView1[iInd1, 1].Text&lt;br /&gt;
 oIndGridView2[iInd2, n].Text = oIndGridView1[iInd1, n].Text (n = numero di colonne – 1 delle GridView di partenza e d'arrivo)&lt;br /&gt;
 oIndGridView1[iInd1, 0].Text = “”&lt;br /&gt;
 oIndGridView1[iInd1, 1].Text = “”&lt;br /&gt;
...&lt;br /&gt;
 oIndGridView1[iInd1, n].Text = “”&lt;br /&gt;
 ·Endif&lt;br /&gt;
· Next&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
L'effetto operativo di quanto scritto sopra è dipendente dall'azione operativa dell'utente che eseguendo il doppio click sulla riga di pertinenza da spostare, per Es. della GridView1 permette la schedulazione dell'evento GridView1_DblClick dentro il quale l'istruzione GriViewComu_DblClick non fa altro che richiamare la procedura  GriViewComu_DblClick  che si occuperà dello spostamento fisico dei valori di tutta lariga dalla GridView1 alla GridView2. La stessa effetto, in senso opposto avverrà eseguendo il doppio click su una riga valorizzata della GridView2.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10779</id>
		<title>Guide della comunità</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10779"/>
		<updated>2013-02-11T15:35:05Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Raccolta di guide sui componenti, sui metodi e sugli algoritmi del linguaggio Gambas, nonché su ogni altro argomento utile, scritti e mantenuti dalla comunità italiana Gambas-it&lt;br /&gt;
&lt;br /&gt;
== Balloon ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID di un Balloon]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare un Ballon]]&lt;br /&gt;
&lt;br /&gt;
== ComboBox ==&lt;br /&gt;
&lt;br /&gt;
* [[ComboBox: creare una lista da codice]]&lt;br /&gt;
&lt;br /&gt;
== Componenti ==&lt;br /&gt;
&lt;br /&gt;
* [[Come creare un componente]]&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial - creare un componente: il frame]]&lt;br /&gt;
&lt;br /&gt;
==== Componenti della Comunità Gambas-it.org ====&lt;br /&gt;
&lt;br /&gt;
* [[GridBox]]&lt;br /&gt;
&lt;br /&gt;
== DialogBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Filtrare contemporaneamente con il Dialog.Filter più estensioni di file]]&lt;br /&gt;
&lt;br /&gt;
* [[Caricare più file da aprire in sequenza]]&lt;br /&gt;
&lt;br /&gt;
== DrawingArea ==&lt;br /&gt;
&lt;br /&gt;
* [[Generare un file immagine da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Mostrare tutte le sfumature di un colore]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere del testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare con il mouse il testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il contenuto di una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
== File immagine particolari ==&lt;br /&gt;
&lt;br /&gt;
* [[Struttura e gestione del file di tipo PNM]]&lt;br /&gt;
&lt;br /&gt;
== Form ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Form mediante la Classe Window]]&lt;br /&gt;
&lt;br /&gt;
* [[Sollevare l'evento _Resize al ridimensionamento di un Form secondario]]&lt;br /&gt;
&lt;br /&gt;
== Funzioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere una Funzione]]&lt;br /&gt;
&lt;br /&gt;
== Gambas3 &amp;amp; SubVersion ==&lt;br /&gt;
&lt;br /&gt;
* [[Gambas3 &amp;amp; SubVersion]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei dati MIDI e dei file ''.mid''==&lt;br /&gt;
&lt;br /&gt;
* [[Eseguire un file MIDI mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con ALSA]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con O.S.S.]] (&amp;lt;FONT color=darkred&amp;gt;obsoleto&amp;lt;/font&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file MIDI mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei File ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura, chiusura e riapertura di un file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Arrestare temporaneamente il flusso di dati da un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Azzerare un gruppo di byte in un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere ed impostare i permessi di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la dimensione di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Eliminare un byte all'interno di un file binario]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre da una cartella uno o più file nascosti]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre il percorso di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Identificare un tipo di file dalla sua estensione]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere dati dai &amp;quot;File Descriptor&amp;quot; passati da funzioni esterne]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere e scrivere righe da/su un file di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere un file binario con READ]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere un file coerente da dati di tipo stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Reindirizzare lo standard output con Output To]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un file da internet]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file audio ==&lt;br /&gt;
&lt;br /&gt;
* [[Calcolare a priori la durata di un file audio]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.sdl.sound]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante le funzioni esterne delle API di Alsa]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file audio mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file PDF ==&lt;br /&gt;
&lt;br /&gt;
* [[Codice essenziale per mostrare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
== Gestione delle immagini ==&lt;br /&gt;
&lt;br /&gt;
* [[Cancellare un'immagine in una PictureBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Fondere due immagini in una sola]]&lt;br /&gt;
&lt;br /&gt;
* [[Immagine scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il colore di un determinato pixel]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire del testo in una Image ed in una Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Ruotare specularmente un'immagine e un carattere]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un'immagine da un sito internet]]&lt;br /&gt;
&lt;br /&gt;
* [[Utilizzare una GIF animata]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei processi mediante &amp;quot;Process&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura e chiusura di un processo mediante Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Attendere e verificare la chiusura di un programma gestito da Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Lettura dati da un Processo e scrittura dati in un Processo]]&lt;br /&gt;
&lt;br /&gt;
== Gridview ==&lt;br /&gt;
&lt;br /&gt;
* [[Centrare il testo nell'header]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le righe e le colonne ed assegnare a ciascuna cella un valore di un array bidimensionale]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare font, colore dei caratteri e colore di sfondo diversi per ogni cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire un'immagine adattandola alle dimensioni della cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori all'interno di una colonna]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori di più righe in base ad una colonna]]&lt;br /&gt;
&lt;br /&gt;
== InputBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni di un InputBox]]&lt;br /&gt;
&lt;br /&gt;
== Interagire con la tastiera ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare i tasti della tastiera intercettando i dati grezzi dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Keypress - Keyrelease - Key]]&lt;br /&gt;
&lt;br /&gt;
== Interfaccia a linea di comando ==&lt;br /&gt;
&lt;br /&gt;
* [[CLI]]&lt;br /&gt;
&lt;br /&gt;
== Interfacciare Gambas con librerie esterne ==&lt;br /&gt;
&lt;br /&gt;
* [[Documento originale (Inglese)]] &lt;br /&gt;
&lt;br /&gt;
* [[Traduzione della comunità di Gambas-it]]&lt;br /&gt;
&lt;br /&gt;
====Ulteriori contributi sulle librerie e sulle funzioni esterne====&lt;br /&gt;
&lt;br /&gt;
* [[Extern: richiamare funzioni esterne a Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare una Libreria condivisa (Shared Library) .so]]&lt;br /&gt;
&lt;br /&gt;
* [[Dereferenziare senza Memory-Stream un pointer ad una Struttura, passato da una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
* [[Passare un&amp;amp;#96;area riservata di memoria ad una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
== ListBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare ad un oggetto di testo il contenuto di un elemento cliccandovi sopra]]&lt;br /&gt;
&lt;br /&gt;
== Matrici ed Array ==&lt;br /&gt;
&lt;br /&gt;
* [[Array dinamici – creazione e riempimento]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione di una coda mediante array in modo circolare]]&lt;br /&gt;
&lt;br /&gt;
== MessageBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni del MessageBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID della finestra di un MessageBox generato da un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Interruzione di riga con ritorno a capo]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare o ridimensionare una finestra di un MessageBox]]&lt;br /&gt;
&lt;br /&gt;
== Menu ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare Menu da codice e non con l'Editor-Menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Far apparire un Balloon, quando si passa con il mouse su un menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Modifiche delle proprietà dei Menu]]&lt;br /&gt;
&lt;br /&gt;
== Miscellanea ==&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere il fuso orario (TimeZone) impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la versione di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere l'hostname impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Disegnare &amp;quot;a mano&amp;quot; su un contenitore diverso da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare con precisione il percorso ed il nome della Scrivania]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere una schermata (&amp;quot;screenshot&amp;quot;) con Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Visualizzare il tempo trascorso dall'ultimo avvio del sistema]]&lt;br /&gt;
&lt;br /&gt;
== Mouse ==&lt;br /&gt;
&lt;br /&gt;
* [[Evento rotellina]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare i dati del mouse dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare il tasto premuto del mouse]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare l&amp;amp;#180;aspetto del cursore]]&lt;br /&gt;
&lt;br /&gt;
== Oggetti in generale ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare da codice più oggetti ad un Gruppo]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare array di oggetti]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare e dimensionare un oggetto con lo spostamento del mouse sul form]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare più oggetti del medesimo tipo senza variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare una Classe di oggetti fra molti]]&lt;br /&gt;
&lt;br /&gt;
* [[Metodo di pseudo indirizzamento ad Oggetti grafici]]&lt;br /&gt;
&lt;br /&gt;
* [[Oggetti scorrevoli]]&lt;br /&gt;
&lt;br /&gt;
* [[Raggiungere e gestire gli oggetti di FMain da una classe secondaria]]&lt;br /&gt;
&lt;br /&gt;
* [[Riclassificare successivamente un oggetto]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in modo circolare più oggetti posti in pila]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in pila più oggetti in base ad una loro proprietà]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare oggetti con il mouse all'interno di un form]]&lt;br /&gt;
&lt;br /&gt;
* [[Verificare l'esistenza di un oggetto sul form]]&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
&lt;br /&gt;
* [[Inserire le password per lanciare comandi]]&lt;br /&gt;
&lt;br /&gt;
== Pdfwriter ==&lt;br /&gt;
&lt;br /&gt;
*[[Guida ai report]]&lt;br /&gt;
&lt;br /&gt;
== Porte ==&lt;br /&gt;
&lt;br /&gt;
* [[Accesso alle Porte Seriali]]&lt;br /&gt;
&lt;br /&gt;
* [[Approfondimento sull'accesso alle porte USB]]&lt;br /&gt;
&lt;br /&gt;
* [[Uso delle Porte Parallele]]&lt;br /&gt;
&lt;br /&gt;
== Posta elettronica ==&lt;br /&gt;
&lt;br /&gt;
* [[Invio della posta elettronica]]&lt;br /&gt;
&lt;br /&gt;
== Programmi Gambas e programmi esterni ==&lt;br /&gt;
&lt;br /&gt;
* [[Agire sulla finestra di un qualunque programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Chiudere programmi esterni]]&lt;br /&gt;
&lt;br /&gt;
* [[Contare le righe di codice di un progetto Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Copiare in una cartella un programma.gambas contenuto in un altro programma.gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Impedire l'avvio di un programma.gambas già avviato]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID della 'finestra' di un programma ]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome della finestra di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il percorso di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un programma Gambas da linea di comando]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare la finestra di un programma da un desktop ad un altro del video]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due programmi Gambas contemporaneamente mediante Process, lo standard Output e lo standard Input]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due o più programmi Gambas contemporaneamente mediante Alsa]]&lt;br /&gt;
&lt;br /&gt;
== SpinBox ==&lt;br /&gt;
* [[Variare il valore da codice e non con il controllo diretto del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stringhe, caratteri e testo ==&lt;br /&gt;
&lt;br /&gt;
* [[&amp;quot;Andare a capo&amp;quot; in un oggetto di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Cercare una parola in una stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Confrontare i caratteri di due stringhe]]&lt;br /&gt;
&lt;br /&gt;
* [[Scomporre una stringa e caricare ogni parola in una variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Scritta scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Simulazione di un collegamento ipertestuale]]&lt;br /&gt;
&lt;br /&gt;
* [[Testo verticale]]&lt;br /&gt;
&lt;br /&gt;
* [[Verifica &amp;quot;passo-passo&amp;quot; di ciascun carattere in una data stringa]]&lt;br /&gt;
&lt;br /&gt;
== Slider ==&lt;br /&gt;
&lt;br /&gt;
* [[Variare il valore dello Slider ruotando la rotellina del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stampa ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare le stampanti presenti nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare elementi diversi da testo, da Image e da Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il testo presente in oggetti di testo]]&lt;br /&gt;
&lt;br /&gt;
== TabStrip ==&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere successivamente linguette via codice]]&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere oggetti in una determinata linguetta]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire più linguette ed oggetti via codice]]&lt;br /&gt;
&lt;br /&gt;
== Tavoletta grafica e Gambas ==&lt;br /&gt;
&lt;br /&gt;
* [[Leggere l'azione di una penna su una Tavoletta grafica]]&lt;br /&gt;
&lt;br /&gt;
== Temporizzazioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Cronometro]]&lt;br /&gt;
&lt;br /&gt;
* [[Temporizzare una funzione o un evento]]&lt;br /&gt;
&lt;br /&gt;
== Terminale - Console IDE Gambas==&lt;br /&gt;
&lt;br /&gt;
* [[Indirizzare dati ad un Terminale ed alla Console dell'IDE di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare il prompt bash]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere dati scritti manualmente nella Console]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere quanto mostrato nella finestra di un Terminale]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere nella finestra del Terminale]]&lt;br /&gt;
&lt;br /&gt;
== Valori numerici ==&lt;br /&gt;
&lt;br /&gt;
* [[Arrotondamento di un numero con virgola mobile]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione binaria in decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Decimale a Esadecimale ed a Carattere ASCII]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Esadecimale a Decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Rappresentazione esadecimale di un dato in formato &amp;quot;a lunghezza variabile&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* [[Troncare alcune cifre decimali in un valore Float]]&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10778</id>
		<title>Guide della comunità</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10778"/>
		<updated>2013-02-11T15:32:11Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Raccolta di guide sui componenti, sui metodi e sugli algoritmi del linguaggio Gambas, nonché su ogni altro argomento utile, scritti e mantenuti dalla comunità italiana Gambas-it&lt;br /&gt;
&lt;br /&gt;
== Balloon ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID di un Balloon]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare un Ballon]]&lt;br /&gt;
&lt;br /&gt;
== ComboBox ==&lt;br /&gt;
&lt;br /&gt;
* [[ComboBox: creare una lista da codice]]&lt;br /&gt;
&lt;br /&gt;
== Componenti ==&lt;br /&gt;
&lt;br /&gt;
* [[Come creare un componente]]&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial - creare un componente: il frame]]&lt;br /&gt;
&lt;br /&gt;
==== Componenti della Comunità Gambas-it.org ====&lt;br /&gt;
&lt;br /&gt;
* [[GridBox]]&lt;br /&gt;
&lt;br /&gt;
== DialogBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Filtrare contemporaneamente con il Dialog.Filter più estensioni di file]]&lt;br /&gt;
&lt;br /&gt;
* [[Caricare più file da aprire in sequenza]]&lt;br /&gt;
&lt;br /&gt;
== DrawingArea ==&lt;br /&gt;
&lt;br /&gt;
* [[Generare un file immagine da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Mostrare tutte le sfumature di un colore]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere del testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare con il mouse il testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il contenuto di una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
== File immagine particolari ==&lt;br /&gt;
&lt;br /&gt;
* [[Struttura e gestione del file di tipo PNM]]&lt;br /&gt;
&lt;br /&gt;
== Form ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Form mediante la Classe Window]]&lt;br /&gt;
&lt;br /&gt;
* [[Sollevare l'evento _Resize al ridimensionamento di un Form secondario]]&lt;br /&gt;
&lt;br /&gt;
== Funzioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere una Funzione]]&lt;br /&gt;
&lt;br /&gt;
== Gambas3 &amp;amp; SubVersion ==&lt;br /&gt;
&lt;br /&gt;
* [[Gambas3 &amp;amp; SubVersion]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei dati MIDI e dei file ''.mid''==&lt;br /&gt;
&lt;br /&gt;
* [[Eseguire un file MIDI mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con ALSA]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con O.S.S.]] (&amp;lt;FONT color=darkred&amp;gt;obsoleto&amp;lt;/font&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file MIDI mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei File ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura, chiusura e riapertura di un file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Arrestare temporaneamente il flusso di dati da un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Azzerare un gruppo di byte in un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere ed impostare i permessi di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la dimensione di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Eliminare un byte all'interno di un file binario]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre da una cartella uno o più file nascosti]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre il percorso di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Identificare un tipo di file dalla sua estensione]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere dati dai &amp;quot;File Descriptor&amp;quot; passati da funzioni esterne]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere e scrivere righe da/su un file di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere un file binario con READ]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere un file coerente da dati di tipo stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Reindirizzare lo standard output con Output To]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un file da internet]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file audio ==&lt;br /&gt;
&lt;br /&gt;
* [[Calcolare a priori la durata di un file audio]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.sdl.sound]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante le funzioni esterne delle API di Alsa]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file audio mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file PDF ==&lt;br /&gt;
&lt;br /&gt;
* [[Codice essenziale per mostrare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
== Gestione delle immagini ==&lt;br /&gt;
&lt;br /&gt;
* [[Cancellare un'immagine in una PictureBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Fondere due immagini in una sola]]&lt;br /&gt;
&lt;br /&gt;
* [[Immagine scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il colore di un determinato pixel]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire del testo in una Image ed in una Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Ruotare specularmente un'immagine e un carattere]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un'immagine da un sito internet]]&lt;br /&gt;
&lt;br /&gt;
* [[Utilizzare una GIF animata]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei processi mediante &amp;quot;Process&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura e chiusura di un processo mediante Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Attendere e verificare la chiusura di un programma gestito da Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Lettura dati da un Processo e scrittura dati in un Processo]]&lt;br /&gt;
&lt;br /&gt;
== Gridview ==&lt;br /&gt;
&lt;br /&gt;
* [[Centrare il testo nell'header]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le righe e le colonne ed assegnare a ciascuna cella un valore di un array bidimensionale]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare font, colore dei caratteri e colore di sfondo diversi per ogni cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire un'immagine adattandola alle dimensioni della cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori all'interno di una colonna]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori di più righe in base ad una colonna]]&lt;br /&gt;
&lt;br /&gt;
== InputBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni di un InputBox]]&lt;br /&gt;
&lt;br /&gt;
== Interagire con la tastiera ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare i tasti della tastiera intercettando i dati grezzi dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Keypress - Keyrelease - Key]]&lt;br /&gt;
&lt;br /&gt;
== Interfaccia a linea di comando ==&lt;br /&gt;
&lt;br /&gt;
* [[CLI]]&lt;br /&gt;
&lt;br /&gt;
== Interfacciare Gambas con librerie esterne ==&lt;br /&gt;
&lt;br /&gt;
* [[Documento originale (Inglese)]] &lt;br /&gt;
&lt;br /&gt;
* [[Traduzione della comunità di Gambas-it]]&lt;br /&gt;
&lt;br /&gt;
====Ulteriori contributi sulle librerie e sulle funzioni esterne====&lt;br /&gt;
&lt;br /&gt;
* [[Extern: richiamare funzioni esterne a Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare una Libreria condivisa (Shared Library) .so]]&lt;br /&gt;
&lt;br /&gt;
* [[Dereferenziare senza Memory-Stream un pointer ad una Struttura, passato da una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
* [[Passare un&amp;amp;#96;area riservata di memoria ad una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
== ListBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare ad un oggetto di testo il contenuto di un elemento cliccandovi sopra]]&lt;br /&gt;
&lt;br /&gt;
== Matrici ed Array ==&lt;br /&gt;
&lt;br /&gt;
* [[Array dinamici – creazione e riempimento]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione di una coda mediante array in modo circolare]]&lt;br /&gt;
&lt;br /&gt;
== MessageBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni del MessageBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID della finestra di un MessageBox generato da un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Interruzione di riga con ritorno a capo]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare o ridimensionare una finestra di un MessageBox]]&lt;br /&gt;
&lt;br /&gt;
== Menu ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare Menu da codice e non con l'Editor-Menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Far apparire un Balloon, quando si passa con il mouse su un menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Modifiche delle proprietà dei Menu]]&lt;br /&gt;
&lt;br /&gt;
== Miscellanea ==&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere il fuso orario (TimeZone) impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la versione di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere l'hostname impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Disegnare &amp;quot;a mano&amp;quot; su un contenitore diverso da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare con precisione il percorso ed il nome della Scrivania]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere una schermata (&amp;quot;screenshot&amp;quot;) con Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Visualizzare il tempo trascorso dall'ultimo avvio del sistema]]&lt;br /&gt;
&lt;br /&gt;
== Mouse ==&lt;br /&gt;
&lt;br /&gt;
* [[Evento rotellina]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare i dati del mouse dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare il tasto premuto del mouse]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare l&amp;amp;#180;aspetto del cursore]]&lt;br /&gt;
&lt;br /&gt;
== Oggetti in generale ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare da codice più oggetti ad un Gruppo]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare array di oggetti]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare e dimensionare un oggetto con lo spostamento del mouse sul form]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare più oggetti del medesimo tipo senza variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare una Classe di oggetti fra molti]]&lt;br /&gt;
&lt;br /&gt;
* [[Metodo di pseudo indirizzamento ad Oggetti grafici]]&lt;br /&gt;
&lt;br /&gt;
* [[Trasferire il contenuto di una GridView ad un'altra e viceversa]]&lt;br /&gt;
&lt;br /&gt;
* [[Oggetti scorrevoli]]&lt;br /&gt;
&lt;br /&gt;
* [[Raggiungere e gestire gli oggetti di FMain da una classe secondaria]]&lt;br /&gt;
&lt;br /&gt;
* [[Riclassificare successivamente un oggetto]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in modo circolare più oggetti posti in pila]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in pila più oggetti in base ad una loro proprietà]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare oggetti con il mouse all'interno di un form]]&lt;br /&gt;
&lt;br /&gt;
* [[Verificare l'esistenza di un oggetto sul form]]&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
&lt;br /&gt;
* [[Inserire le password per lanciare comandi]]&lt;br /&gt;
&lt;br /&gt;
== Pdfwriter ==&lt;br /&gt;
&lt;br /&gt;
*[[Guida ai report]]&lt;br /&gt;
&lt;br /&gt;
== Porte ==&lt;br /&gt;
&lt;br /&gt;
* [[Accesso alle Porte Seriali]]&lt;br /&gt;
&lt;br /&gt;
* [[Approfondimento sull'accesso alle porte USB]]&lt;br /&gt;
&lt;br /&gt;
* [[Uso delle Porte Parallele]]&lt;br /&gt;
&lt;br /&gt;
== Posta elettronica ==&lt;br /&gt;
&lt;br /&gt;
* [[Invio della posta elettronica]]&lt;br /&gt;
&lt;br /&gt;
== Programmi Gambas e programmi esterni ==&lt;br /&gt;
&lt;br /&gt;
* [[Agire sulla finestra di un qualunque programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Chiudere programmi esterni]]&lt;br /&gt;
&lt;br /&gt;
* [[Contare le righe di codice di un progetto Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Copiare in una cartella un programma.gambas contenuto in un altro programma.gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Impedire l'avvio di un programma.gambas già avviato]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID della 'finestra' di un programma ]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome della finestra di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il percorso di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un programma Gambas da linea di comando]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare la finestra di un programma da un desktop ad un altro del video]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due programmi Gambas contemporaneamente mediante Process, lo standard Output e lo standard Input]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due o più programmi Gambas contemporaneamente mediante Alsa]]&lt;br /&gt;
&lt;br /&gt;
== SpinBox ==&lt;br /&gt;
* [[Variare il valore da codice e non con il controllo diretto del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stringhe, caratteri e testo ==&lt;br /&gt;
&lt;br /&gt;
* [[&amp;quot;Andare a capo&amp;quot; in un oggetto di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Cercare una parola in una stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Confrontare i caratteri di due stringhe]]&lt;br /&gt;
&lt;br /&gt;
* [[Scomporre una stringa e caricare ogni parola in una variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Scritta scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Simulazione di un collegamento ipertestuale]]&lt;br /&gt;
&lt;br /&gt;
* [[Testo verticale]]&lt;br /&gt;
&lt;br /&gt;
* [[Verifica &amp;quot;passo-passo&amp;quot; di ciascun carattere in una data stringa]]&lt;br /&gt;
&lt;br /&gt;
== Slider ==&lt;br /&gt;
&lt;br /&gt;
* [[Variare il valore dello Slider ruotando la rotellina del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stampa ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare le stampanti presenti nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare elementi diversi da testo, da Image e da Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il testo presente in oggetti di testo]]&lt;br /&gt;
&lt;br /&gt;
== TabStrip ==&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere successivamente linguette via codice]]&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere oggetti in una determinata linguetta]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire più linguette ed oggetti via codice]]&lt;br /&gt;
&lt;br /&gt;
== Tavoletta grafica e Gambas ==&lt;br /&gt;
&lt;br /&gt;
* [[Leggere l'azione di una penna su una Tavoletta grafica]]&lt;br /&gt;
&lt;br /&gt;
== Temporizzazioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Cronometro]]&lt;br /&gt;
&lt;br /&gt;
* [[Temporizzare una funzione o un evento]]&lt;br /&gt;
&lt;br /&gt;
== Terminale - Console IDE Gambas==&lt;br /&gt;
&lt;br /&gt;
* [[Indirizzare dati ad un Terminale ed alla Console dell'IDE di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare il prompt bash]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere dati scritti manualmente nella Console]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere quanto mostrato nella finestra di un Terminale]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere nella finestra del Terminale]]&lt;br /&gt;
&lt;br /&gt;
== Valori numerici ==&lt;br /&gt;
&lt;br /&gt;
* [[Arrotondamento di un numero con virgola mobile]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione binaria in decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Decimale a Esadecimale ed a Carattere ASCII]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Esadecimale a Decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Rappresentazione esadecimale di un dato in formato &amp;quot;a lunghezza variabile&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* [[Troncare alcune cifre decimali in un valore Float]]&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10777</id>
		<title>Metodo di pseudo indirizzamento ad Oggetti grafici</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Metodo_di_pseudo_indirizzamento_ad_Oggetti_grafici&amp;diff=10777"/>
		<updated>2013-02-11T15:17:40Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: Nuova pagina: La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezio...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La gestione di un tale metodo riguarda oggetti grafici della stessa natura senza però duplicare codice. Si possono presentare diversi casi di impiego di tale metodo. La presente sezione ha lo scopo di raggruppare tutti quei casi in cui possa tornare utile sfruttare le potenzialità interne a Gambas per ottenere più rapidamente e con risparmio di codice, e non solo, risultati ed ottimizzazioni di procedure che altrimenti richiederebbero un non semplice impegno di programmazione e di memoria.&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10776</id>
		<title>Guide della comunità</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0&amp;diff=10776"/>
		<updated>2013-02-11T15:13:14Z</updated>

		<summary type="html">&lt;p&gt;Picavbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Raccolta di guide sui componenti, sui metodi e sugli algoritmi del linguaggio Gambas, nonché su ogni altro argomento utile, scritti e mantenuti dalla comunità italiana Gambas-it&lt;br /&gt;
&lt;br /&gt;
== Balloon ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID di un Balloon]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare un Ballon]]&lt;br /&gt;
&lt;br /&gt;
== ComboBox ==&lt;br /&gt;
&lt;br /&gt;
* [[ComboBox: creare una lista da codice]]&lt;br /&gt;
&lt;br /&gt;
== Componenti ==&lt;br /&gt;
&lt;br /&gt;
* [[Come creare un componente]]&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial - creare un componente: il frame]]&lt;br /&gt;
&lt;br /&gt;
==== Componenti della Comunità Gambas-it.org ====&lt;br /&gt;
&lt;br /&gt;
* [[GridBox]]&lt;br /&gt;
&lt;br /&gt;
== DialogBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Filtrare contemporaneamente con il Dialog.Filter più estensioni di file]]&lt;br /&gt;
&lt;br /&gt;
* [[Caricare più file da aprire in sequenza]]&lt;br /&gt;
&lt;br /&gt;
== DrawingArea ==&lt;br /&gt;
&lt;br /&gt;
* [[Generare un file immagine da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Mostrare tutte le sfumature di un colore]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere del testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare con il mouse il testo in una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il contenuto di una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
== File immagine particolari ==&lt;br /&gt;
&lt;br /&gt;
* [[Struttura e gestione del file di tipo PNM]]&lt;br /&gt;
&lt;br /&gt;
== Form ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Form mediante la Classe Window]]&lt;br /&gt;
&lt;br /&gt;
* [[Sollevare l'evento _Resize al ridimensionamento di un Form secondario]]&lt;br /&gt;
&lt;br /&gt;
== Funzioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere una Funzione]]&lt;br /&gt;
&lt;br /&gt;
== Gambas3 &amp;amp; SubVersion ==&lt;br /&gt;
&lt;br /&gt;
* [[Gambas3 &amp;amp; SubVersion]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei dati MIDI e dei file ''.mid''==&lt;br /&gt;
&lt;br /&gt;
* [[Eseguire un file MIDI mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con ALSA]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione del MIDI con O.S.S.]] (&amp;lt;FONT color=darkred&amp;gt;obsoleto&amp;lt;/font&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file MIDI mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei File ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura, chiusura e riapertura di un file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Arrestare temporaneamente il flusso di dati da un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Azzerare un gruppo di byte in un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere ed impostare i permessi di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la dimensione di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Eliminare un byte all'interno di un file binario]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre da una cartella uno o più file nascosti]]&lt;br /&gt;
&lt;br /&gt;
* [[Estrarre il percorso di un file]]&lt;br /&gt;
&lt;br /&gt;
* [[Identificare un tipo di file dalla sua estensione]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere dati dai &amp;quot;File Descriptor&amp;quot; passati da funzioni esterne]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere e scrivere righe da/su un file di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Leggere un file binario con READ]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere un file coerente da dati di tipo stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Reindirizzare lo standard output con Output To]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un file da internet]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file audio ==&lt;br /&gt;
&lt;br /&gt;
* [[Calcolare a priori la durata di un file audio]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.media]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante il componente gb.sdl.sound]]&lt;br /&gt;
&lt;br /&gt;
* [[La gestione mediante le funzioni esterne delle API di Alsa]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un file audio mediante il codice html]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei file PDF ==&lt;br /&gt;
&lt;br /&gt;
* [[Codice essenziale per mostrare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare un file PDF]]&lt;br /&gt;
&lt;br /&gt;
== Gestione delle immagini ==&lt;br /&gt;
&lt;br /&gt;
* [[Cancellare un'immagine in una PictureBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Fondere due immagini in una sola]]&lt;br /&gt;
&lt;br /&gt;
* [[Immagine scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il colore di un determinato pixel]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire del testo in una Image ed in una Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Ruotare specularmente un'immagine e un carattere]]&lt;br /&gt;
&lt;br /&gt;
* [[Scaricare un'immagine da un sito internet]]&lt;br /&gt;
&lt;br /&gt;
* [[Utilizzare una GIF animata]]&lt;br /&gt;
&lt;br /&gt;
== Gestione dei processi mediante &amp;quot;Process&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
* [[Apertura e chiusura di un processo mediante Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Attendere e verificare la chiusura di un programma gestito da Process]]&lt;br /&gt;
&lt;br /&gt;
* [[Lettura dati da un Processo e scrittura dati in un Processo]]&lt;br /&gt;
&lt;br /&gt;
== Gridview ==&lt;br /&gt;
&lt;br /&gt;
* [[Centrare il testo nell'header]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le righe e le colonne ed assegnare a ciascuna cella un valore di un array bidimensionale]]&lt;br /&gt;
&lt;br /&gt;
* [[Impostare font, colore dei caratteri e colore di sfondo diversi per ogni cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire un'immagine adattandola alle dimensioni della cella]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori all'interno di una colonna]]&lt;br /&gt;
&lt;br /&gt;
* [[Ordinare i valori di più righe in base ad una colonna]]&lt;br /&gt;
&lt;br /&gt;
== InputBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni di un InputBox]]&lt;br /&gt;
&lt;br /&gt;
== Interagire con la tastiera ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare i tasti della tastiera intercettando i dati grezzi dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Keypress - Keyrelease - Key]]&lt;br /&gt;
&lt;br /&gt;
== Interfaccia a linea di comando ==&lt;br /&gt;
&lt;br /&gt;
* [[CLI]]&lt;br /&gt;
&lt;br /&gt;
== Interfacciare Gambas con librerie esterne ==&lt;br /&gt;
&lt;br /&gt;
* [[Documento originale (Inglese)]] &lt;br /&gt;
&lt;br /&gt;
* [[Traduzione della comunità di Gambas-it]]&lt;br /&gt;
&lt;br /&gt;
====Ulteriori contributi sulle librerie e sulle funzioni esterne====&lt;br /&gt;
&lt;br /&gt;
* [[Extern: richiamare funzioni esterne a Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare una Libreria condivisa (Shared Library) .so]]&lt;br /&gt;
&lt;br /&gt;
* [[Dereferenziare senza Memory-Stream un pointer ad una Struttura, passato da una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
* [[Passare un&amp;amp;#96;area riservata di memoria ad una funzione esterna]]&lt;br /&gt;
&lt;br /&gt;
== ListBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare ad un oggetto di testo il contenuto di un elemento cliccandovi sopra]]&lt;br /&gt;
&lt;br /&gt;
== Matrici ed Array ==&lt;br /&gt;
&lt;br /&gt;
* [[Array dinamici – creazione e riempimento]]&lt;br /&gt;
&lt;br /&gt;
* [[Gestione di una coda mediante array in modo circolare]]&lt;br /&gt;
&lt;br /&gt;
== MessageBox ==&lt;br /&gt;
&lt;br /&gt;
* [[Impostare le dimensioni del MessageBox]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il PID della finestra di un MessageBox generato da un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Interruzione di riga con ritorno a capo]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare o ridimensionare una finestra di un MessageBox]]&lt;br /&gt;
&lt;br /&gt;
== Menu ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare Menu da codice e non con l'Editor-Menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Far apparire un Balloon, quando si passa con il mouse su un menu]]&lt;br /&gt;
&lt;br /&gt;
* [[Modifiche delle proprietà dei Menu]]&lt;br /&gt;
&lt;br /&gt;
== Miscellanea ==&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere il fuso orario (TimeZone) impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere la versione di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Conoscere l'hostname impostato nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Disegnare &amp;quot;a mano&amp;quot; su un contenitore diverso da una DrawingArea]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare con precisione il percorso ed il nome della Scrivania]]&lt;br /&gt;
&lt;br /&gt;
* [[Ottenere una schermata (&amp;quot;screenshot&amp;quot;) con Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Visualizzare il tempo trascorso dall'ultimo avvio del sistema]]&lt;br /&gt;
&lt;br /&gt;
== Mouse ==&lt;br /&gt;
&lt;br /&gt;
* [[Evento rotellina]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare i dati del mouse dal suo file-device]]&lt;br /&gt;
&lt;br /&gt;
* [[Intercettare il tasto premuto del mouse]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare l&amp;amp;#180;aspetto del cursore]]&lt;br /&gt;
&lt;br /&gt;
== Oggetti in generale ==&lt;br /&gt;
&lt;br /&gt;
* [[Assegnare da codice più oggetti ad un Gruppo]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare array di oggetti]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare e dimensionare un oggetto con lo spostamento del mouse sul form]]&lt;br /&gt;
&lt;br /&gt;
* [[Creare più oggetti del medesimo tipo senza variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare una Classe di oggetti fra molti]]&lt;br /&gt;
&lt;br /&gt;
* [[Metodo di pseudo indirizzamento ad Oggetti grafici]]&lt;br /&gt;
&lt;br /&gt;
* [[Oggetti scorrevoli]]&lt;br /&gt;
&lt;br /&gt;
* [[Raggiungere e gestire gli oggetti di FMain da una classe secondaria]]&lt;br /&gt;
&lt;br /&gt;
* [[Riclassificare successivamente un oggetto]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in modo circolare più oggetti posti in pila]]&lt;br /&gt;
&lt;br /&gt;
* [[Riposizionare in pila più oggetti in base ad una loro proprietà]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare oggetti con il mouse all'interno di un form]]&lt;br /&gt;
&lt;br /&gt;
* [[Verificare l'esistenza di un oggetto sul form]]&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
&lt;br /&gt;
* [[Inserire le password per lanciare comandi]]&lt;br /&gt;
&lt;br /&gt;
== Pdfwriter ==&lt;br /&gt;
&lt;br /&gt;
*[[Guida ai report]]&lt;br /&gt;
&lt;br /&gt;
== Porte ==&lt;br /&gt;
&lt;br /&gt;
* [[Accesso alle Porte Seriali]]&lt;br /&gt;
&lt;br /&gt;
* [[Approfondimento sull'accesso alle porte USB]]&lt;br /&gt;
&lt;br /&gt;
* [[Uso delle Porte Parallele]]&lt;br /&gt;
&lt;br /&gt;
== Posta elettronica ==&lt;br /&gt;
&lt;br /&gt;
* [[Invio della posta elettronica]]&lt;br /&gt;
&lt;br /&gt;
== Programmi Gambas e programmi esterni ==&lt;br /&gt;
&lt;br /&gt;
* [[Agire sulla finestra di un qualunque programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Chiudere programmi esterni]]&lt;br /&gt;
&lt;br /&gt;
* [[Contare le righe di codice di un progetto Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Copiare in una cartella un programma.gambas contenuto in un altro programma.gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Impedire l'avvio di un programma.gambas già avviato]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare ed estrarre il PID della 'finestra' di un programma ]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome della finestra di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il nome di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Individuare il percorso di un programma]]&lt;br /&gt;
&lt;br /&gt;
* [[Lanciare un programma Gambas da linea di comando]]&lt;br /&gt;
&lt;br /&gt;
* [[Spostare la finestra di un programma da un desktop ad un altro del video]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due programmi Gambas contemporaneamente mediante Process, lo standard Output e lo standard Input]]&lt;br /&gt;
&lt;br /&gt;
* [[Usare due o più programmi Gambas contemporaneamente mediante Alsa]]&lt;br /&gt;
&lt;br /&gt;
== SpinBox ==&lt;br /&gt;
* [[Variare il valore da codice e non con il controllo diretto del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stringhe, caratteri e testo ==&lt;br /&gt;
&lt;br /&gt;
* [[&amp;quot;Andare a capo&amp;quot; in un oggetto di testo]]&lt;br /&gt;
&lt;br /&gt;
* [[Cercare una parola in una stringa]]&lt;br /&gt;
&lt;br /&gt;
* [[Confrontare i caratteri di due stringhe]]&lt;br /&gt;
&lt;br /&gt;
* [[Scomporre una stringa e caricare ogni parola in una variabile array]]&lt;br /&gt;
&lt;br /&gt;
* [[Scritta scorrevole]]&lt;br /&gt;
&lt;br /&gt;
* [[Simulazione di un collegamento ipertestuale]]&lt;br /&gt;
&lt;br /&gt;
* [[Testo verticale]]&lt;br /&gt;
&lt;br /&gt;
* [[Verifica &amp;quot;passo-passo&amp;quot; di ciascun carattere in una data stringa]]&lt;br /&gt;
&lt;br /&gt;
== Slider ==&lt;br /&gt;
&lt;br /&gt;
* [[Variare il valore dello Slider ruotando la rotellina del mouse]]&lt;br /&gt;
&lt;br /&gt;
== Stampa ==&lt;br /&gt;
&lt;br /&gt;
* [[Individuare le stampanti presenti nel proprio sistema]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare elementi diversi da testo, da Image e da Picture]]&lt;br /&gt;
&lt;br /&gt;
* [[Stampare il testo presente in oggetti di testo]]&lt;br /&gt;
&lt;br /&gt;
== TabStrip ==&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere successivamente linguette via codice]]&lt;br /&gt;
&lt;br /&gt;
* [[Aggiungere oggetti in una determinata linguetta]]&lt;br /&gt;
&lt;br /&gt;
* [[Inserire più linguette ed oggetti via codice]]&lt;br /&gt;
&lt;br /&gt;
== Tavoletta grafica e Gambas ==&lt;br /&gt;
&lt;br /&gt;
* [[Leggere l'azione di una penna su una Tavoletta grafica]]&lt;br /&gt;
&lt;br /&gt;
== Temporizzazioni ==&lt;br /&gt;
&lt;br /&gt;
* [[Creare un Cronometro]]&lt;br /&gt;
&lt;br /&gt;
* [[Temporizzare una funzione o un evento]]&lt;br /&gt;
&lt;br /&gt;
== Terminale - Console IDE Gambas==&lt;br /&gt;
&lt;br /&gt;
* [[Indirizzare dati ad un Terminale ed alla Console dell'IDE di Gambas]]&lt;br /&gt;
&lt;br /&gt;
* [[Modificare il prompt bash]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere dati scritti manualmente nella Console]]&lt;br /&gt;
&lt;br /&gt;
* [[Raccogliere quanto mostrato nella finestra di un Terminale]]&lt;br /&gt;
&lt;br /&gt;
* [[Scrivere nella finestra del Terminale]]&lt;br /&gt;
&lt;br /&gt;
== Valori numerici ==&lt;br /&gt;
&lt;br /&gt;
* [[Arrotondamento di un numero con virgola mobile]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione binaria in decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Decimale a Esadecimale ed a Carattere ASCII]]&lt;br /&gt;
&lt;br /&gt;
* [[Convertire un numero da rappresentazione Esadecimale a Decimale]]&lt;br /&gt;
&lt;br /&gt;
* [[Rappresentazione esadecimale di un dato in formato &amp;quot;a lunghezza variabile&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* [[Troncare alcune cifre decimali in un valore Float]]&lt;/div&gt;</summary>
		<author><name>Picavbg</name></author>
	</entry>
</feed>