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

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 15: Riga 15:
 
   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=#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
 
<BR>prova 1
 
<BR>prova 2
 
<BR>prova 3
 
  
 
====''Ritorno a capo'' in un ''MessageBox''====
 
====''Ritorno a capo'' in un ''MessageBox''====
Riga 30: Riga 32:
 
  Message.Info("Prima linea " & <FONT color=#B22222>Chr$(10)</font> & "Seconda Linea")
 
  Message.Info("Prima linea " & <FONT color=#B22222>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=#B22222>\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=#B22222>&#060;BR&#062;</font>Seconda Linea")
Riga 36: Riga 38:
 
  Message.Info("Prima linea" & <FONT color=#B22222>gb.newline</font> & "Seconda Linea")
 
  Message.Info("Prima linea" & <FONT color=#B22222>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=#B22222>\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]
Riga 42: Riga 44:
 
  Message.Info("Prima linea" & <FONT color=#B22222>bb.ToString()</font> & "Seconda Linea")
 
  Message.Info("Prima linea" & <FONT color=#B22222>bb.ToString()</font> & "Seconda Linea")
  
Avremo sempre nella finestra del Message:
+
Avremo sempre nella finestra del ''MessageBox'':
<BR>Prima Linea
+
Prima Linea
<BR>Seconda Linea
+
Seconda Linea
 
 
 
 
 
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 <SPAN style="text-decoration:underline">incompatibili</span> con la presenza anche del codice html "&#060;BR&#062;".
Riga 59: Riga 58:
  
 
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" .
 
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" .
 
<BR>prova 4
 
<BR>prova 5
 
<BR>prova 6
 
 
  
 
===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===

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.