Convertir cadena de caracteres en codigo Morse, y codigo ASCII
Una de las maneras en que podemos usar un diccionario es utilizando un archivo de texto plano y leerlo por medio de el StreamReader linea por linea buscando la letra que se desea traducir.
Para esto primero tenemos que definir cual sera nuestro diccionario, en este caso utilizaremos el que encontramos en Wikipedia, y lo copiamos en un texto plano con la extensión .txt ordenando la letra traducida en la linea siguiente después de la letra en mayúscula a traducir. Recuerda que leeremos linea por linea.
A continuación en Windows Forms, o WPF podemos crear una clase que contenga los siguientes métodos
public List<string> ConvertStringToMorse()...
public List<string> ConvertStringToASCII()..
private string ConvertirCharToMorse(char p) ..
el cual nos regresara como resultado una Lista de caracteres traducidos.
Asi que empezamos con un parámetro el cual sera la cadena a evaluar _cadena
//----------------------------------------------------------------------------------
List<string> _texto_de_regreso = new List<string>();
for (int x = 0; x < _cadena.Length; x++)
{
string _morse = string.Empty;
//Letra con index x de tipo char
var _letra = _cadena[x];
//Variable _letra convertida en código morse
_morse = ConvertirCharToMorse(_letra);
}
_texto_de_regreso.Add(_morse + " ");
}
return _texto_de_regreso;
//----------------------------------------------------------------------------------
Y he aquí es donde desciframos el metodo ConvertirCharToMorse(char p)
el cual va leyendo linea por linea hasta encontrar el carácter parámetro de entrada y cuando lo encuentra captura la linea siguiente para regresarla en el return.
//----------------------------------------------------------------------------------
String line;
string _texto_de_regreso = string.Empty;
string variable = Console.ReadLine();
try
{
//Pass the file path and file name to the StreamReader constructor
StreamReader sr = new StreamReader("C:\\Users/icalderond/Downloads/TP.txt");
//Read the first line of text
line = sr.ReadLine();
//Continue to read until you reach end of file
while (line != null)
{
//write the lie to console window
if (line == p.ToString())
{
_texto_de_regreso = Convert.ToString(sr.ReadLine());
break;
}
//Read the next line
line = sr.ReadLine();
}
//close the file
sr.Close();
}
catch (Exception e)
{
//Console.WriteLine("Exception: " + e.Message);
}
finally
{
//Console.WriteLine("Executing finally block.");
}
return _texto_de_regreso;
}
//----------------------------------------------------------------------------------
Y finalmente les dejo el codigo para convertir los caracteres a código ASCII
//----------------------------------------------------------------------------------
var _ascii = Encoding.ASCII.GetBytes(_letraATraducir.ToString())[0];
//----------------------------------------------------------------------------------
me pasas tu e-mail
ResponderEliminar