Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: WestOn en 26 Octubre 2008, 21:02 PM

Título: Error al pasarlo a binario
Publicado por: WestOn en 26 Octubre 2008, 21:02 PM
Wenas, estoy haciendo un programa que te 'cambia' las palabras a binario y viceversa.
Este es parte del code:
Código (vb) [Seleccionar]
Option Explicit
'variables
Dim a1 As Integer ' variable que almacena el resultado de InStr, devuelve 0(si no hay letra) y 1 (si q hay letra)
Dim c01 As String, c02 As String, c03 As String ' variables q sirven para contar

Private Sub Command1_Click()
c01 = ""  'cada vez q se le da al boton limpiamos resultados anteriores
a1 = InStr(Text1.Text, "a") 'A
If a1 = 0 Then
'no esta
Else
c03 = "01000001"
c01 = c01 + c02 + c03 'Letra + espacio + nueva letra
End If
a1 = InStr(Text1.Text, "b") 'B
If a1 = 0 Then
'no esta
Else
c03 = "01000010"
c01 = c01 + c02 + c03
End If
....
Text2.Text = c01  'alfinal lo muestra todo en un text
Private Sub Form_Load()
c02 = " "
End Sub

El problema esque no reconoce mas de una letra repetida(solo muestra una letra, si escribes agua, solo saldra 'traducido' agu  :()
Me imagino que sera un usando un for o algo de eso no?
Weno espero haber q me decis, un saludo ;)
Título: Re: Error al pasarlo a binario
Publicado por: s E t H en 27 Octubre 2008, 19:18 PM
podrias ir de letra en letra, algo asi:

dim i as long
for i=1 to len(palabra)
convertir_a_binario mid(palabra,i,1)
next i



osea, vas de uno en uno y usando mid para obtener una sola letra.. igualmente creo que es mejor idea usar asc() para pasar la letra a ascii y de ahi algun algoritmo para pasarlo a binario, en lugar de reemplazar
Título: Re: Error al pasarlo a binario
Publicado por: WestOn en 27 Octubre 2008, 19:30 PM
Wenas, voy a probar lo q has dicho (aunque tengo un par de dudas, pero lo intentare :P)
Sino lo consigo ahora despues posteo, un saludo y grax

PD: no soy capaz de implementar tu code con el mio de arriba, si me pusieras un breve ejemplo de ambos te lo agradeceria, un saludo