Differenze tra le versioni di "Convertire un carattere maiuscolo in minuscolo senza la funzione LCase()"
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 5: | Riga 5: | ||
Così, ad esempio, il carattere della lettera "A" ha un numero di codice ASCII 65; pertanto la relativa lettera minuscola "a" ha un numero uguale a 65 + 32 = 97. | Così, ad esempio, il carattere della lettera "A" ha un numero di codice ASCII 65; pertanto la relativa lettera minuscola "a" ha un numero uguale a 65 + 32 = 97. | ||
− | + | Pertanto, se vogliamo effettuare una conversione in minuscolo di una stringa di caratteri alfabetici, scritti tutti in lettere maiuscole, senza l'uso della funzione nativa di Gambas "LCase()", potremo utilizzare un algoritmo simile al seguente: | |
− | Pertanto, se vogliamo effettuare una conversione in minuscolo di una stringa di caratteri alfabetici, scritti tutti in lettere maiuscole, senza l'uso della funzione di Gambas | + | Public Sub Main() |
− | |||
Dim s As String | Dim s As String | ||
Riga 23: | Riga 22: | ||
Print bb.ToString(0, bb.Count) | Print bb.ToString(0, bb.Count) | ||
− | + | End | |
− | + | Va da sé che, avendo per ottenere la conversione da minuscolo in maiuscolo, sarà necessario sottrarre il valore 32 al numero di codice ASCII di un carattere alfabetico. | |
− | |||
− | Va da sé che, avendo per | ||
<BR>Esempio: [a]97 - 32 = 65[A] | <BR>Esempio: [a]97 - 32 = 65[A] |
Versione attuale delle 18:18, 28 giu 2024
Come è noto, per convertire uno o più caratteri alfabetici maiuscoli di una stringa in corrispondenti minuscoli, è sufficiente utilizzare la funzione LCase( ).
Se non si vuole utilizzare detta funzione di Gambas, per effettuare comunque la conversione da maiuscolo in minuscolo è necessario tenere conto che nel codice ASCII i caratteri alfabetici minuscoli hanno un corrispondente codice numerico pari a quello dei caratteri alfabetici maiuscoli + 32.
Così, ad esempio, il carattere della lettera "A" ha un numero di codice ASCII 65; pertanto la relativa lettera minuscola "a" ha un numero uguale a 65 + 32 = 97.
Pertanto, se vogliamo effettuare una conversione in minuscolo di una stringa di caratteri alfabetici, scritti tutti in lettere maiuscole, senza l'uso della funzione nativa di Gambas "LCase()", potremo utilizzare un algoritmo simile al seguente:
Public Sub Main() Dim s As String Dim bb As Byte[] Dim b As Byte s = "ABCDEFGHIJKLMNOPQRSTUVYWZ" bb = Byte[].FromString(s) For b = 0 To bb.Max bb[b] += 32 Next Print bb.ToString(0, bb.Count) End
Va da sé che, avendo per ottenere la conversione da minuscolo in maiuscolo, sarà necessario sottrarre il valore 32 al numero di codice ASCII di un carattere alfabetico.
Esempio: [a]97 - 32 = 65[A]