Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Sostituire lettere a numeri
Forum - C# / VB.NET - Sostituire lettere a numeri

Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 13:42
Lunedì, 25/08/2008
Questo topic è stato chiuso dal moderatore

Sto cercando di costruire qualcosa tipo un prog per crittare stringhe di lettere con numeri.
Esempio, scrivo CIAO e mi esce 3-9-1-15, assegnando un numero a ogni lettera.

il codice però, non mi restituisce questo risultato, ma mi riscrivere CIAO

Codice sorgente - presumibilmente C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace Luk3_Numeric_Crypter
  11. {
  12.     public partial class Form2 : Form
  13.     {
  14.         static string parola;
  15.  
  16.         public Form2()
  17.         {
  18.             InitializeComponent();
  19.         }
  20.  
  21.         private void button3_Click(object sender, EventArgs e)
  22.         {
  23.  
  24.             parola = textBox1.Text;
  25.             parola.Replace("a", "1");
  26.             parola.Replace("b", "2");
  27.             parola.Replace("c", "3");
  28.             parola.Replace("d", "4");
  29.             parola.Replace("e", "5");
  30.             parola.Replace("f", "6");
  31.             parola.Replace("g", "7");
  32.             parola.Replace("h", "8");
  33.             parola.Replace("i", "9");
  34.             parola.Replace("j", "10");
  35.             parola.Replace("k", "11");
  36.             parola.Replace("l", "12");
  37.             parola.Replace("m", "13");
  38.             parola.Replace("n", "14");
  39.             parola.Replace("o", "15");
  40.             parola.Replace("p", "16");
  41.             parola.Replace("q", "17");
  42.             parola.Replace("r", "18");
  43.             parola.Replace("s", "19");
  44.             parola.Replace("t", "20");
  45.             parola.Replace("u", "21");
  46.             parola.Replace("v", "22");
  47.             parola.Replace("w", "23");
  48.             parola.Replace("x", "24");
  49.             parola.Replace("y", "25");
  50.             parola.Replace("z", "26");
  51.             textBox2.Text = parola;
  52.         }
  53.     }
  54. }



Dove ho sbagliato?!:rotfl:

PM
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 18:38
Lunedì, 25/08/2008
La funzione replace come ogni funzione cha opera su una stringa non modifica la stringa ma ne restituisce un'altra.
Quindi se tu scrivi ad esempio:

parola.replace("a", "1")

la stringa rsta invariata.
Devi scrivere invece:

parola = parola.replace("a", "1")

comunque è possibile scrivere un programma come quello anche con un ciclo che scrive i numeri in base agl'ascii delle lettere.

Ultima modifica effettuata da manvb.net il 25/08/2008 alle 18:39
PM