Differenze tra le versioni di "Formattare il testo da mostrare in console o in terminale"
(Creata pagina con "Per mostrare in console o in terminale un testo formattato con campo riservato di caratteri per una lunghezza totale specificata, è possibile utilizzare alcune modalità. ==...") |
|||
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
Per mostrare in console o in terminale un testo formattato con campo riservato di caratteri per una lunghezza totale specificata, è possibile utilizzare alcune modalità. | Per mostrare in console o in terminale un testo formattato con campo riservato di caratteri per una lunghezza totale specificata, è possibile utilizzare alcune modalità. | ||
− | ===Senza usare funzioni all'uopo dedicate=== | + | ===Senza usare funzioni all'uopo espressamente dedicate alla formattazione=== |
Mostriamo qualche esempio: | Mostriamo qualche esempio: | ||
− | + | Public Sub Main() | |
Dim lun As Byte = 30 | Dim lun As Byte = 30 | ||
Riga 14: | Riga 14: | ||
Print s2 & Space(lun - Len(s2)) & "mnopqrs" | Print s2 & Space(lun - Len(s2)) & "mnopqrs" | ||
− | + | End | |
+ | oppure anche: | ||
+ | Public Sub Main() | ||
+ | |||
+ | Dim lun As Byte = 30 | ||
+ | Dim s1, s2 As String | ||
+ | |||
+ | s1 = "abcde fghil" | ||
+ | s2 = "abcde" | ||
+ | |||
+ | Print s1 & String(lun - Len(s1), ".") & "mnopqrs" | ||
+ | Print s2 & String(lun - Len(s2), ".") & "mnopqrs" | ||
+ | |||
+ | End | ||
Riga 22: | Riga 35: | ||
Mostriamo un esempio: | Mostriamo un esempio: | ||
− | + | Public Sub Main() | |
Print String.PadRight("abcde fghil", 20, ".") & "mnopqrs" | Print String.PadRight("abcde fghil", 20, ".") & "mnopqrs" | ||
Print String.PadRight("abcde", 20, ".") & "mnopqrs" | Print String.PadRight("abcde", 20, ".") & "mnopqrs" | ||
− | + | End | |
Riga 40: | Riga 53: | ||
− | + | Public Sub Main() | |
printf("%-8s%1s%6d%7d%7d\n", "Primo", ":", 1000, 10, 1) | printf("%-8s%1s%6d%7d%7d\n", "Primo", ":", 1000, 10, 1) | ||
Riga 46: | Riga 59: | ||
printf("%-8s%1s%6d%7d%7d", "Terzo", ":", 300, 3, 30) | printf("%-8s%1s%6d%7d%7d", "Terzo", ":", 300, 3, 30) | ||
− | + | End |
Versione attuale delle 13:32, 1 lug 2024
Per mostrare in console o in terminale un testo formattato con campo riservato di caratteri per una lunghezza totale specificata, è possibile utilizzare alcune modalità.
Senza usare funzioni all'uopo espressamente dedicate alla formattazione
Mostriamo qualche esempio:
Public Sub Main() Dim lun As Byte = 30 Dim s1, s2 As String s1 = "abcde fghil" s2 = "abcde" Print s1 & Space(lun - Len(s1)) & "mnopqrs" Print s2 & Space(lun - Len(s2)) & "mnopqrs" End
oppure anche:
Public Sub Main() Dim lun As Byte = 30 Dim s1, s2 As String s1 = "abcde fghil" s2 = "abcde" Print s1 & String(lun - Len(s1), ".") & "mnopqrs" Print s2 & String(lun - Len(s2), ".") & "mnopqrs" End
Uso delle funzioni "String.PadLeft()" e "String.PadRight()" attivando il Componente gb.util
Attivando il Componente gb.util sarà possibile utilizzare le funzioni "String.PadLeft()" e "String.PadRight()".
Esse restituiscono con la funzione "String.PadLeft()" una nuova stringa che allinea a sinistra i caratteri nella stringa originale aggiungendoli a destra, ovvero con la funzione "String.PadRight()" che allinea a destra i caratteri nella stringa originale aggiungendoli a sinistra, in entrambi i casi con uno schema di stringa specificato, per una lunghezza totale specificata.
Mostriamo un esempio:
Public Sub Main() Print String.PadRight("abcde fghil", 20, ".") & "mnopqrs" Print String.PadRight("abcde", 20, ".") & "mnopqrs" End
Uso della funzione esterna "printf()" di C
Usando la funzione esterna "printf()", ponendo nel suo primo argomento un numero innanzi a sinistra del simbolo della formattazione, il valore verrà stampato in Terminale/console ad n caratteri dalla prima posizione disponibile a sinistra, occupando così n posizioni vuote alla sua sinistra.
Ponendo un segno meno dinnanzi a detto numero, il valore verrà stampato ad n caratteri dalla prima posizione disponibile a destra, occupando così n posizioni vuote alla sua destra.
Mostriamo un esempio:
' int printf (const char *__restrict __format, ...) ' Write formatted output to stdout. Private Extern printf(__format As String, testo As String, duepunti As String, num1 As Integer, num2 As Integer, num3 As Integer) As Integer In "libc:6" Public Sub Main() printf("%-8s%1s%6d%7d%7d\n", "Primo", ":", 1000, 10, 1) printf("%-8s%1s%6d%7d%7d\n", "Secondo", ":", 20, 2000, 200) printf("%-8s%1s%6d%7d%7d", "Terzo", ":", 300, 3, 30) End