Autore Topic: array di caratteri  (Letto 910 volte)

Offline anacleto96

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
array di caratteri
« il: 20 Maggio 2013, 15:22:57 »
Buongiorno a tutti!

Ho un terribile problema che blocca il mio programma! :'( :'(

Il mio obiettivo è: dato un testo scritto all'interno di una TextArea, sostiuire ogni carattere della stringa con un "●". Ad esempio se all'interno della textarea scrivo "Ciao come stai?" vorrei che il nuovo testo diventasse "●●●● ●●●● ●●●● ●" .


Qualcuno sa aiutarmi? :-\

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.298
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: array di caratteri
« Risposta #1 il: 20 Maggio 2013, 15:25:14 »
Per utilizzare caratteri... particolari, devi gestire gli Unicode:

http://www.gambas-it.org/wiki/index.php?title=Uso_di_Unicode_con_gli_oggetti_di_testo
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline anacleto96

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: array di caratteri
« Risposta #2 il: 20 Maggio 2013, 15:51:01 »
Ti ringrazio per la risposta, ma non è quello il punto. :-[ Io riesco a stampare il ● (facendo copia e incolla funziona!) solo che io non riesco ad estrapolare dalla stringa i singoli caratteri.
Utilizzando i caratteri escape riesco a dividere la stringa "ciao come stai" in "ciao" "come" "stai", ma a me servono le singole lettere. Devo riuscire a stampare
c
i
a
o

ecc. al fine di sostituire ad ogni lettera il pallino nero. Si può fare?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.298
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: array di caratteri
« Risposta #3 il: 20 Maggio 2013, 15:52:35 »
Riguardo al tuo obiettivo iniziale le soluzioni possono essere diverse. Una di queste può essere ad esempio la seguente:
Codice: gambas [Seleziona]

Public Sub Button1_Click()

  Dim ss As String[]
  Dim j As Byte

' Imponiamo un testo iniziale alla "TextArea":
   TextArea1.Text = "Ciao come stai ?"

' Distinguiamo quel testo per ciascuna parola
' (il carattere discriminante sarà, appunto, lo spazio presente fra parola e parola),
' e poniamo ogni parola in un elemento di una variabile array di tipi stringa:
    ss = Split(TextArea1.Text, " ")

' "Sostituiamo" i caratteri della "prima" parola del testo originario, secondo i simboli prescelti dell'Unicode,
' avendo l'accortezza di "rigenerare" lo spazio che prima esisteva con la successiva parola:
     TextArea1.Text = String$(Len(ss[0]), String.Chr(&2219)) & " "
  
' Procediamo a "sostituire" i caratteri per le altre stringhe contenute nei restanti elementi dell'array,
' anche qui avendo l'accortezza di "rigenerare" lo spazio che prima esisteva fra una parola e l'altra.
' Ogni parola, così mutata, sarà aggiunta ad ogni ciclo del "For" al testo della "TextArea":
    For j = 1 To ss.Max
      TextArea1.Text &= String$(Len(ss[j]), String.Chr(&2219)) & " "
    Next

End
« Ultima modifica: 20 Maggio 2013, 16:04:29 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.298
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: array di caratteri
« Risposta #4 il: 20 Maggio 2013, 15:56:29 »
Ti suggerisco di fare un po' di ricerca nel Forum: l'argomento sulle stringhe è stato abbastanza trattato.
Inoltre, puoi consultare la nostra WIKI relativamente sempre alle stringhe e caratteri:
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Stringhe.2C_caratteri_e_testo

In particolare, per estrapolare dalla stringa i singoli caratteri, puoi dare un'occhiata qui:
http://www.gambas-it.org/wiki/index.php?title=Verifica_%22passo-passo%22_di_ciascun_carattere_in_una_data_stringa
« Ultima modifica: 20 Maggio 2013, 16:09:11 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline anacleto96

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: array di caratteri
« Risposta #5 il: 20 Maggio 2013, 17:05:06 »
Gentilissimo!!! ;)

Funziona tutto alla perfezione!

Grazie! :ciao: