Foro de elhacker.net

Programación => 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
  1. Option Explicit
  2. 'variables
  3. Dim a1 As Integer ' variable que almacena el resultado de InStr, devuelve 0(si no hay letra) y 1 (si q hay letra)
  4. Dim c01 As String, c02 As String, c03 As String ' variables q sirven para contar
  5.  
  6. Private Sub Command1_Click()
  7. c01 = ""  'cada vez q se le da al boton limpiamos resultados anteriores
  8. a1 = InStr(Text1.Text, "a") 'A
  9. If a1 = 0 Then
  10. 'no esta
  11. Else
  12. c03 = "01000001"
  13. c01 = c01 + c02 + c03 'Letra + espacio + nueva letra
  14. End If
  15. a1 = InStr(Text1.Text, "b") 'B
  16. If a1 = 0 Then
  17. 'no esta
  18. Else
  19. c03 = "01000010"
  20. c01 = c01 + c02 + c03
  21. End If
  22. ....
  23. Text2.Text = c01  'alfinal lo muestra todo en un text
  24. Private Sub Form_Load()
  25. c02 = " "
  26. 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:

Código:
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