Oppure

Loading
28/07/08 7:38
xLuk3x
Giusto per imitare il programmino "ottrid" di Galatolo_Federico.

Il mio è praticamente uguale, apparte che utilizza un interfaccia grafica.
Ecco il codice del button:

private void button1_Click(object sender, EventArgs e)
        {
            char[] parola = new char[500];
            parola = textBox1.Text.ToCharArray();
            for (int x = parola.Length; x > 0; x--);
            {
                textBox1.Text = parola.ToString();
            }

        }


Il problema è che quando arrivo al ciclo for,

l'istruzione textBox1.Text = parola.ToString();

all'esecuzione mi restituisce sulla textBox la frase System.Char[].

Il programma completo dovrebbe riscrivere il mio nome luca, acul :rotfl:
Comunque, se qualcuno sa cosa c'è da fare meglio di me...
aaa
28/07/08 9:00
Il Totem
private void button1_Click(object sender, EventArgs e)
        {
            char[] parola = new char[500];
            parola = textBox1.Text.ToCharArray();
            for (int x = parola.Length; x > 0; x--);
            {
                textBox1.Text = parola.ToString();
            }

        }


Ma per cosa utilizzi il for se ad ogni iterazione gli fai compiere la stessa identica operazione, pure sbagliata? Un array non può essere convertito in stringa: per tutti i tipi che non supportano la conversione, il metodo ToString restituisce il nome completo del tipo.
Forse volevi scrivere:
TextBox1.Text += parola[x];

Il che dovrebbe dare un errore, perchè in una stringa di lunghezza X, l'ultimo carattere ha indice X-1, e il primo ha indice 0. Quindi dovrebbe essere:
char[] parola = new char[500];
parola = textBox1.Text.ToCharArray();
for (int x = parola.Length - 1; x >= 0; x--);
{
  textBox1.Text += parola[x];
}

Ti fornisco anche due suggerimenti:
1. Non è necessario specificare la dimensione dell'array, poiché ToCharArray restituisce un array già inizializzato di dimensione diversa a seconda della lunghezza della stringa;
2. Non è necessario usare una variabile ausiliaria, a meno che non ti interessa la velocità (quindi per stringhe di lunghezza considerevole). Infatti, ogni variabile String ha la proprietà indicizzata Chars(n), che restituisce il carattere alla posizione n nella stringa. E' una proprietà di default, quindi puoi anche usare direttamente l'indicizzazione:
TextBox1.Text.Chars[2] = 
TextBox1.Text[2] =
//Il terzo carattere del testo
aaa
28/07/08 9:13
xLuk3x
Grazie totem dei suggerimenti.
Ho provato poi ad aggiustare, e va va va.. Grandissimo! Grazie..

Primo o poi spero di poter sviluppare programmi senza aver bisogno di scrivere un post perchjè non capisco + niente.

Grazie ancora:k:
Ultima modifica effettuata da xLuk3x 28/07/08 9:16
aaa
28/07/08 9:26
Il Totem
Prego, e buona fortuna per il futuro.

P.S.: se stai usando vb2008, puoi aggiungere il metodo "Inverti" al tipo stringa con i metodi estensibili. C'è un articolo nella sezione Tutorials - Visual Basic.
aaa