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

Da Gambas-it.org - Wikipedia.
 
(18 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per far "andare a capo" 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=#B22222>\n</font>
 +
<BR>- <FONT color=#B22222>gb.NewLine</font>
 
<BR>- <FONT color=#B22222>chr(10)</font>
 
<BR>- <FONT color=#B22222>chr(10)</font>
<BR>- <FONT color=#B22222>gb.newline</font>
+
<BR>- <FONT color=#B22222>\x0A</font>
 +
<BR>- <FONT color=#B22222>gb.Lf</font>
 +
<BR>- <FONT color=#B22222>vettore_Byte.ToString()</font>  <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
  
  
Esempio con una TextLabel:
+
Esempio con una Label:
  
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
   Label1.Text = "Questa è la" & gb.newline & "prova 1" & Chr(10) & "prova 2" & "\nprova 3"
+
  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"
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
Il risultato nella ''Label'' sarà il seguente:
 +
Questa è la
 +
prova 1
 +
prova 2
 +
prova 3
 +
prova 4
 +
prova 5
 +
prova 6
  
Nella Label avremo:
 
  
Questa è la
+
====''Ritorno a capo'' in un ''MessageBox''====
<BR>prova 1
+
Per introdurre in generale nell'oggetto ''MessageBox'' il comando “a capo” in una riga, usare il carattere ''Chr(10)'':
<BR>prova 2
+
Message.Info("Prima linea " & <FONT color=#B22222>Chr$(10)</font> & "Seconda Linea")
<BR>prova 3
+
oppure il carattere ''escape'' ''\n''
 +
Message.Info("Prima linea<FONT color=#B22222>\n</font>Seconda Linea")
 +
oppure il codice html &#060;BR&#062;
 +
Message.Info("Prima linea<FONT color=#B22222>&#060;BR&#062;</font>Seconda Linea")
 +
oppure ''gb.newline''
 +
Message.Info("Prima linea" & <FONT color=#B22222>gb.newline</font> & "Seconda Linea")
 +
oppure il carattere ''escape'' esadecimale "\x0A":
 +
Message.Info("Prima linea<FONT color=#B22222>\x0A</font>Seconda 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" & <FONT color=#B22222>bb.ToString()</font> & "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 <SPAN style="text-decoration:underline">incompatibili</span> con la presenza anche del codice html "&#060;BR&#062;".
 +
<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")
 +
si otterrà nella finestra del Message un risultato diverso da quello atteso:
 +
<BR>Prima Linea
 +
<BR>Seconda LineaTerza Linea
  
  
Invece, per gli oggetti di testo che supportano il codice ''html'' usare il codice <FONT color=#B22222>&#060;BR&#062;</font>:
+
Si deve precisare che più in generale, con il componente ''gb.qt4'' attivo, <SPAN style="text-decoration:underline">non</span> è ammessa la compresenza di <SPAN style="text-decoration:underline">qualunque</span> codice html con i predetti comandi per andare a capo: "\n", "Chr$(10)" e "gb.newline" .
  
Esempio con una Label:
+
===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>
  
 +
Esempio con una TextLabel:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
   TextLabel1.Text = "Questa è&#060;BR&#062;l'unica prova."
+
   TextLabel1.Text = "Questa è&lt;BR&#062;l'unica prova."
 
   
 
   
 
  '''End'''
 
  '''End'''
 
 
Nella TextLabel avremo:
 
Nella TextLabel avremo:
  
 
Questa è
 
Questa è
 
<BR>l'unica prova.
 
<BR>l'unica prova.
 +
 +
 +
Così pure con la proprietà ''.RichText'' della ''TextEdit'' si utilizzerà il tag ''&lt;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 ''[[Interruzione_di_riga_con_ritorno_a_capo_in_un_MessageBox|MessageBox]]''.

Versione attuale delle 12:34, 31 ott 2020

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 MessageBox.