CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Convertir Num Y Letras A Simbolos?
borax:
pues saludos....mira la verdad no quero ofender no verle la cara a nadie...
que mal que usted lo entienda de esa manera tengo 36 años y no estudio esto solo estoy aprendiendo y leyendo lo basico.
Solo que quiero aprender esto por que me va hacer falta para un proyecto que tengo de escritura a un PIC U11956 para un sistema de lectura a un Atmel en Simbolos....
es robotica lo cual es un hobie que tengo desde niño y hoy en dia quisiera aprender a escribir mi propio codigo y no depender de otras personas...
Espero esto te explique por que quiero hacer esto.
y solo para informarte no es desifrar si no crear el codigo por eso digo que necesito escribir Letras y Numeros pero que me De esos Simbolos exactos y usar el codigo que me de para mi protecto.... el codigo es basico y preciso y nunca cambiara, por eso tienen que ser esos...
,,si quisiera que me hagan el trabajo pues pagaria por ello sin ningun problema....
lo que necesito es solo un demo de como empesar ya que solo se seguir un codigo no crearlo....
espero lo comprendas y entiendas mi punto de vista, yo tanbien entiendo el tuyo,,,
Gracias y perdona si esto se mira como si yo quisiera aprobecharme de alguien lo cual de beras y de corazon no es hasi....Pero si no es posible que me ayuden pues alguien cierre el post y pues gracias por todo..
Perdonen por pedir ayuda....solo quiero aprender....GRACIAS a TODOS
Nebire:
--- Cita de: "borax" ---
¾ ½ ¼ » º ¹ ¸ · ¶ µ ´ ³ ² ± ° ¯ ® - ¬ « ª © ¨ § ¦ ¥
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
--- Fin de la cita ---
Todavía no acabo de entender que quieres realmente.
sólo por suponer...
Si necesitas que dados unos caracteres "A B C D ..." se conviertan de fijo en otros caracteres, distintos pero siempre con una correspondencia unívoca, todo lo que ienes que hacer es crear una tabla de conversión.
Esto puedes hacerlo de varias formas, siendo unas más rápido que otras. Y el modo a usar dependería de la asignación. Si existe correlación entre los símbolos a aparecer tal como la hay con los caracteres alfabéticos, entonces el cófigo podría ser como el que ya te anoté en otro mensaje. Si sin embargo no existe una correlación ni un orden lógico, entonces la conversión debe hacerse manual, tampoco es mucho más trabajosa, sólo menos elegante y algo más lenta quizás... de todos modos vb.NET vuela con las cadenas, por lo que aunque le pongas un tocho de 100MB. l ocnvertirá en algunos segundos...
Se me ocurre pués 2 formas sencillas que puedes abordar, una es un codificador con 1 entrada de datos y 1 sola salida y 2 n entradas de control donde cada una contiene cada tabla de códigos. El otro modo te será más asequible de entender y seguir, pués se trataría de crear dos matrices o cadenas con cada correpondiente carácter en el mismo índice de cada matriz respectivamente... es mejor ponerlos en una clase...
[CODE]
Nebire:
--- Cita de: "borax" --- ¾ ½ ¼ » º ¹ ¸ · ¶ µ ´ ³ ² ± ° ¯ ® - ¬ « ª © ¨ § ¦ ¥
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
--- Fin de la cita ---
Todavía no acabo de entender que quieres realmente.
sólo por suponer...
Si necesitas que dados unos caracteres "A B C D ..." se conviertan de fijo en otros caracteres, distintos pero siempre con una correspondencia unívoca, todo lo que ienes que hacer es crear una tabla de conversión.
Esto puedes hacerlo de varias formas, siendo unas más rápido que otras. Y el modo a usar dependería de la asignación. Si existe correlación entre los símbolos a aparecer tal como la hay con los caracteres alfabéticos, entonces el cófigo podría ser como el que ya te anoté en otro mensaje. Si sin embargo no existe una correlación ni un orden lógico, entonces la conversión debe hacerse manual, tampoco es mucho más trabajosa, sólo menos elegante y algo más lenta quizás... de todos modos vb.NET vuela con las cadenas, por lo que aunque le pongas un tocho de 100MB. l ocnvertirá en algunos segundos...
Se me ocurre pués 2 formas sencillas que puedes abordar, una es un codificador con 1 entrada de datos y 1 sola salida y 2 n entradas de control donde cada una contiene cada tabla de códigos. El otro modo te será más asequible de entender y seguir, pués se trataría de crear dos matrices o cadenas con cada correpondiente carácter en el mismo índice de cada matriz respectivamente... es mejor ponerlos en una clase...
entoncres creamos un nuevo pproyecto, constará de un formularo y añadiremos una clase:
Código de la clase:
--- Código: Text --- Public Class codifica ' piensa si las tablas deberían incluir un carácter de espacio Private entrada As String ' tabla origen: "ABCDEF..." Private salida As String ' tabla correspon: "¾½¼»º¹..." ' las tablas deben ser igual de largas sin repeticiones y sin espacios en blanco ' no se comprueban esos puntos se supone correcto... Public Sub New(ByVal tablaOrigen As String, ByVal tablaDestino As String) Me.entrada = tablaOrigen Me.salida = tablaDestino End Sub ' convierte un´texto desde un código de origen a otro de destino especificados en tablas Public Function convertir(ByVal texto As String) As String Dim txt As String = "" ' cadena de salida Dim car As String = "" ' un único carácter Dim n As Integer = 0 ' posición de un carácter en la cadena On Error GoTo errorCaracter For k As Integer = 0 To texto.Length - 1 ' se inicia un bucle car = texto.ElementAt(k) ' toma un carácter del texto introducido n = Me.entrada.IndexOf(car) ' lo busca en la cadena origen y toma su posición txt &= Me.salida.ElementAt(n) ' con la posición hallada toma el carácter en dicha posición y lo añade Next Return txt Exit FunctionerrorCaracter: MessageBox.Show("se produjo un error un cáracter del texto no consta en el 'diccionario' origen." & vbCrLf & _ "Se aborta la conversión... es el carácter entrecomillado: ( " & car & " )", "ERROR: carácter fuera de la tabla...", MessageBoxButtons.OK, MessageBoxIcon.Error) End Function ' permite cambiar más adelante las tablas de conversión si se desea. Public Sub cambiar_Codigos(ByVal tablaOrigen As String, ByVal tablaDestino As String) Me.entrada = tablaOrigen Me.salida = tablaDestino End SubEnd Class
Código del formulario:
--- Código: Text --- Public Class Form1 Public cod As codifica ' instancia la clase codifica ' asigna las tablas de códigos a la clase instanciada Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' NOTA: no comprueba que haya caracteres repetidos ' NOTA-2: a las tablas se les ha incluído también el espacio al inicio del todo If Len(TextBox1.Text = TextBox2.Text) Then cod = New codifica(TextBox1.Text, TextBox2.Text) Else MessageBox.Show("Un texto tiene más caracteres que otro. ambos deben tener el mismo número de caracteres.", "No se pudo asignar las tablas...", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End Sub ' convierte el código que hay en el textbox3 y lo deposita en el textbox4 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox4.Text = cod.convertir(TextBox3.Text.ToUpper) ' nota que se connvierte a mayúculas previamente End Sub ' cambia las tablas de códigos por otras diferentes... sólo comprueba que tengan el mismo tamaño Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' NOTA: no comprueba que haya caracteres repetidos If Len(TextBox1.Text = TextBox2.Text) Then Call cod.cambiar_Codigos(TextBox1.Text, TextBox2.Text) Else MessageBox.Show("Un texto tiene más caracteres que otro. ambos deben tener el mismo número de caracteres.", "No se pudo reasignar las tablas...", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End SubEnd Class
Imagen del formulario como quedaría...: añadirle 4 textbox y 2 botones, al gusto...
Navegación
[*] Página Anterior
Ir a la versión completa