Differenze tra le versioni di ""Andare a capo" in un oggetto di testo"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
 
Per far ''andare a capo'' su una ''nuova riga'' il testo all'interno di un oggetto di testo, esistono vari modi:
 
Per far ''andare a capo'' su una ''nuova riga'' il testo all'interno di un oggetto di testo, esistono vari modi:
  
- <FONT color=#B22222>\n</font>
+
- <FONT color=red>\n</font>
<BR>- <FONT color=#B22222>gb.NewLine</font>
+
<BR>- <FONT color=red>gb.NewLine</font>
<BR>- <FONT color=#B22222>chr(10)</font>
+
<BR>- <FONT color=red>chr(10)</font>
<BR>- <FONT color=#B22222>\x0A</font>
+
<BR>- <FONT color=red>\x0A</font>
<BR>- <FONT color=#B22222>gb.Lf</font>
+
<BR>- <FONT color=red>gb.Lf</font>
<BR>- <FONT color=#B22222>vettore_Byte.ToString()</font>  <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
+
<BR>- <FONT color=red>vettore_Byte.ToString()</font>  <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
  
  
 
Esempio con una Label:
 
Esempio con una Label:
  
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   Dim bb As Byte[] = [10]
 
   Dim bb As Byte[] = [10]
 
   
 
   
   Label1.Text = "Questa è la<FONT color=#B22222>\n</font>prova 1" & <FONT color=#B22222>gb.NewLine</font> & "prova 2" & <FONT color=#B22222>Chr(10)</font> & "prova 3<FONT color=#B22222>\x0A</font>prova 4" & <FONT color=#B22222>gb.Lf</font> & "prova 5" & <FONT color=#B22222>bb.ToString(0, 1)</font> & "prova 6"
+
   Label1.Text = "Questa è la<FONT color=red>\n</font>prova 1" & <FONT color=red>gb.NewLine</font> & "prova 2" & <FONT color=red>Chr(10)</font> & "prova 3<FONT color=red>\x0A</font>prova 4" & <FONT color=red>gb.Lf</font> & "prova 5" & <FONT color=red>bb.ToString(0, 1)</font> & "prova 6"
 
   
 
   
  '''End'''
+
  End
 
Il risultato nella ''Label'' sarà il seguente:
 
Il risultato nella ''Label'' sarà il seguente:
 
  Questa è la
 
  Questa è la
Riga 30: Riga 30:
 
====''Ritorno a capo'' in un ''MessageBox''====
 
====''Ritorno a capo'' in un ''MessageBox''====
 
Per introdurre in generale nell'oggetto ''MessageBox'' il comando “a capo” in una riga, usare il carattere ''Chr(10)'':
 
Per introdurre in generale nell'oggetto ''MessageBox'' il comando “a capo” in una riga, usare il carattere ''Chr(10)'':
  Message.Info("Prima linea " & <FONT color=#B22222>Chr$(10)</font> & "Seconda Linea")
+
  Message.Info("Prima linea " & <FONT color=red>Chr$(10)</font> & "Seconda Linea")
 
oppure il carattere ''escape'' ''\n''
 
oppure il carattere ''escape'' ''\n''
  Message.Info("Prima linea<FONT color=#B22222>\n</font>Seconda Linea")
+
  Message.Info("Prima linea<FONT color=red>\n</font>Seconda Linea")
 
oppure il codice html &#060;BR&#062;
 
oppure il codice html &#060;BR&#062;
  Message.Info("Prima linea<FONT color=#B22222>&#060;BR&#062;</font>Seconda Linea")
+
  Message.Info("Prima linea<FONT color=red>&#060;BR&#062;</font>Seconda Linea")
 
oppure ''gb.newline''
 
oppure ''gb.newline''
  Message.Info("Prima linea" & <FONT color=#B22222>gb.newline</font> & "Seconda Linea")
+
  Message.Info("Prima linea" & <FONT color=red>gb.newline</font> & "Seconda Linea")
 
oppure il carattere ''escape'' esadecimale "\x0A":
 
oppure il carattere ''escape'' esadecimale "\x0A":
  Message.Info("Prima linea<FONT color=#B22222>\x0A</font>Seconda Linea")
+
  Message.Info("Prima linea<FONT color=red>\x0A</font>Seconda Linea")
 
oppure, volendo, è possibile utilizzare un vettore di tipo Byte[] contenente un valore uguale a 10
 
oppure, volendo, è possibile utilizzare un vettore di tipo Byte[] contenente un valore uguale a 10
 
  Dim bb As Byte[] = [&0A]
 
  Dim bb As Byte[] = [&0A]
 
   
 
   
  Message.Info("Prima linea" & <FONT color=#B22222>bb.ToString()</font> & "Seconda Linea")
+
  Message.Info("Prima linea" & <FONT color=red>bb.ToString()</font> & "Seconda Linea")
 
 
 
Avremo sempre nella finestra del ''MessageBox'':
 
Avremo sempre nella finestra del ''MessageBox'':
 
  Prima Linea
 
  Prima Linea
Riga 49: Riga 48:
 
I suddetti comandi possono essere anche usati contestualmente, se il progetto ha attivati i componenti ''gb.gui'' o ''gb.gtk''.
 
I suddetti comandi possono essere anche usati contestualmente, se il progetto ha attivati i componenti ''gb.gui'' o ''gb.gtk''.
  
Se si intende, invece, utilizzare il componente ''gb.qt4'', bisogna ricordare che i comandi "\n", "Chr$(10)" e "gb.newline" sono attualmente <SPAN style="text-decoration:underline">incompatibili</span> con la presenza anche del codice html "&#060;BR&#062;".
+
Se si intende, invece, utilizzare il componente ''gb.qt4'', bisogna ricordare che i comandi "\n", "Chr$(10)" e "gb.newline" sono attualmente <U>incompatibili</u> con la presenza anche del codice html "&#060;BR&#062;".
 
<BR>Se infatti saranno utilizzati insieme:
 
<BR>Se infatti saranno utilizzati insieme:
  Message.Info("Prima linea<FONT color=#B22222>&#060;BR&#062;</font>Seconda Linea<FONT color=#B22222>\n</font>Terza Linea")
+
  Message.Info("Prima linea<FONT color=red>&#060;BR&#062;</font>Seconda Linea<FONT color=red>\n</font>Terza Linea")
 
si otterrà nella finestra del Message un risultato diverso da quello atteso:
 
si otterrà nella finestra del Message un risultato diverso da quello atteso:
 
<BR>Prima Linea
 
<BR>Prima Linea
Riga 60: Riga 59:
  
 
===Andare a capo negli oggetti di testo con proprietà che supportano il codice HTML===
 
===Andare a capo negli oggetti di testo con proprietà che supportano il codice HTML===
Invece, quando si usano le proprietà degli oggetti di testo che supportano il codice ''html'', si deve utilizzare il codice <FONT color=#B22222>&lt;BR&#062;</font>. <SUP>&#091;[[#Note|Nota 2]]&#093;</sup>
+
Invece, quando si usano le proprietà degli oggetti di testo che supportano il codice ''html'', si deve utilizzare il codice <FONT color=#B22222>&lt;BR&#062;</font>. <SUP>&#091;[[#Note|nota 2]]&#093;</sup>
  
 
Esempio con una TextLabel:
 
Esempio con una TextLabel:
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   TextLabel1.Text = "Questa è&lt;BR&#062;l'unica prova."
 
   TextLabel1.Text = "Questa è&lt;BR&#062;l'unica prova."
 
   
 
   
  '''End'''
+
  End
 
Nella TextLabel avremo:
 
Nella TextLabel avremo:
  
Riga 86: Riga 85:
  
 
=Note=
 
=Note=
[1] Per andare a capo, potrà essere utilizzato anche il metodo ''.ToString()'' dei vettori di tipo ''Byte[]'' ovviamente con il valore 10.
+
[1] Per andare a capo, potrà essere utilizzato anche il Metodo ".ToString()" dei vettori di tipo "Byte[]" ovviamente con il valore 10.
  
[2] Vedi nota per il ''[[Interruzione_di_riga_con_ritorno_a_capo_in_un_MessageBox|MessageBox]]''.
+
[2] Vedi nota per il ''[[Interruzione_di_riga_con_ritorno_a_capo_in_un_Message|Message]]''.

Versione attuale delle 17:28, 28 giu 2024

Per far andare a capo su una nuova riga il testo all'interno di un oggetto di testo, esistono vari modi:

- \n
- gb.NewLine
- chr(10)
- \x0A
- gb.Lf
- vettore_Byte.ToString() [nota 1]


Esempio con una Label:

Public Sub Button1_Click()

 Dim bb As Byte[] = [10]

 Label1.Text = "Questa è la\nprova 1" & gb.NewLine & "prova 2" & Chr(10) & "prova 3\x0Aprova 4" & gb.Lf & "prova 5" & bb.ToString(0, 1) & "prova 6"

End

Il risultato nella Label sarà il seguente:

Questa è la
prova 1
prova 2
prova 3
prova 4
prova 5
prova 6


Ritorno a capo in un MessageBox

Per introdurre in generale nell'oggetto MessageBox il comando “a capo” in una riga, usare il carattere Chr(10):

Message.Info("Prima linea " & Chr$(10) & "Seconda Linea")

oppure il carattere escape \n

Message.Info("Prima linea\nSeconda Linea")

oppure il codice html <BR>

Message.Info("Prima linea<BR>Seconda Linea")

oppure gb.newline

Message.Info("Prima linea" & gb.newline & "Seconda Linea")

oppure il carattere escape esadecimale "\x0A":

Message.Info("Prima linea\x0ASeconda Linea")

oppure, volendo, è possibile utilizzare un vettore di tipo Byte[] contenente un valore uguale a 10

Dim bb As Byte[] = [&0A]

Message.Info("Prima linea" & bb.ToString() & "Seconda Linea")

Avremo sempre nella finestra del MessageBox:

Prima Linea
Seconda Linea

I suddetti comandi possono essere anche usati contestualmente, se il progetto ha attivati i componenti gb.gui o gb.gtk.

Se si intende, invece, utilizzare il componente gb.qt4, bisogna ricordare che i comandi "\n", "Chr$(10)" e "gb.newline" sono attualmente incompatibili con la presenza anche del codice html "<BR>".
Se infatti saranno utilizzati insieme:

Message.Info("Prima linea<BR>Seconda Linea\nTerza Linea")

si otterrà nella finestra del Message un risultato diverso da quello atteso:
Prima Linea
Seconda LineaTerza Linea


Si deve precisare che più in generale, con il componente gb.qt4 attivo, non è ammessa la compresenza di qualunque codice html con i predetti comandi per andare a capo: "\n", "Chr$(10)" e "gb.newline" .

Andare a capo negli oggetti di testo con proprietà che supportano il codice HTML

Invece, quando si usano le proprietà degli oggetti di testo che supportano il codice html, si deve utilizzare il codice <BR>. [nota 2]

Esempio con una TextLabel:

Public Sub Button1_Click()

 TextLabel1.Text = "Questa è<BR>l'unica prova."

End

Nella TextLabel avremo:

Questa è
l'unica prova.


Così pure con la proprietà .RichText della TextEdit si utilizzerà il tag <BR> dell'HTML. Però se con la TextEdit si usa invece la proprietà .Text (che non supporta il protocollo HTML), si utilizzeranno nuovamente i comandi:

  • \n
  • Chr(10)
  • gb.NewLine
  • \x0A
  • gb.Lf
  • vettore_Byte.ToString()



Note

[1] Per andare a capo, potrà essere utilizzato anche il Metodo ".ToString()" dei vettori di tipo "Byte[]" ovviamente con il valore 10.

[2] Vedi nota per il Message.