elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  dudilla sobre como hazer un dicionario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: dudilla sobre como hazer un dicionario  (Leído 2,022 veces)
animalx3

Desconectado Desconectado

Mensajes: 35


Ver Perfil
dudilla sobre como hazer un dicionario
« en: 12 Octubre 2008, 18:42 pm »

me gustaria saber como puedo hazer para que me busque una palabra i me salga la definicion
se que podria hazerlo con arrays pero tengo un problema
el problema es que si desconozco la palabra no se como hazerlo

Código:
Nijizuishou: Cristal Arco Iris. Son 7 cristales con los colores del arcoiris que al reunirse con la lagrima de Serena forman el Cristal de Plata, ocultos en el interior de siete humanos que son la reencarnacion de los siete demonios más poderosos del negaverso. 

digamos que desconozco esta palabra Nijizuishou
pero se esta negaverso
como me lo tendria que hazer para que me buscara las palabras i me saliera la definicion

gracias de antemano


En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: dudilla sobre como hazer un dicionario
« Respuesta #1 en: 12 Octubre 2008, 20:21 pm »

Yo lo haría usando la función InStr.

Yo tendría dos arrays tipo string. Uno con los nombres y otro con las definiciones. Entonces, haría un textbox donde se insertaría la palabra a buscar. Y luego haría un InStr para buscar esa palabra en el array con todas las palabras y si no lo encontrase, entonces haría una búsqueda de esa palabra en las definiciones por si lo encontrase.

Sería algo así:

Suponiendo que hay dos arrays, uno con las palabras y otro con las definiciones, crea un textbox donde se introducirá la palabra a buscar y un botón que servirá para realizar la búsqueda. Obviamente esto es sólo un ejemplo y he cargado sólo una posición del vector con su nombre y definición pero tendrías que hacer una función que cargase ambos vectores con sus nombres y definiciones correspondientes. Ahí va el ejemplo:

Código
  1. Dim palabras(1 To 50) As String
  2. Dim definiciones(1 To 50) As String
  3.  
  4. Private Sub Command1_Click()
  5. palabras(20) = "Nijizuishou"
  6. definiciones(20) = "Cristal Arco Iris. Son 7 cristales con los colores del arcoiris que al reunirse con la lagrima de Serena forman el Cristal de Plata, ocultos en el interior de siete humanos que son la reencarnacion de los siete demonios más poderosos del negaverso."
  7.  
  8. For i = 1 To 50
  9.    If InStr(LCase(palabras(i)), LCase(Text1.Text)) Then
  10.        MsgBox definiciones(i)
  11.    Else
  12.        If InStr(LCase(definiciones(i)), LCase(Text1.Text)) Then
  13.            Msgbox definiciones(i)
  14.        End If
  15.    End If
  16. Next
  17. End Sub

Lo paso todo a minúsculas antes de comparar para evitar que al buscar la palabra "Nijizuishou" con n minúscula no se produjese ningún resultado y ese tipo de cosas. Para esto sólo he tenido que usar la función LCase antes de comparar.


En línea

animalx3

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: dudilla sobre como hazer un dicionario
« Respuesta #2 en: 12 Octubre 2008, 21:07 pm »

ok pero entonces tengo k ir poniendo los nombres i definiciones uno a uno no¿?

i como se haria para azerlo al inverso l buscara una palabra de la definicion i me saliera el nombre con la definicion¿?¿?
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: dudilla sobre como hazer un dicionario
« Respuesta #3 en: 12 Octubre 2008, 21:27 pm »

Claro que tendrás que ponerlo de uno en uno o bien cargarlos desde un fichero. Pero eso hazlo tú porque yo no tengo ganas de ponerme a hacer eso xD

Para que fuese al revés... que buscases algo de la definición y te mostrase el nombre dices?, pues es muy sencillo, con el código que te he puesto podrías sacarlo...

Código
  1. Dim palabras(1 To 50) As String
  2. Dim definiciones(1 To 50) As String
  3.  
  4. Private Sub Command1_Click()
  5. palabras(20) = "Nijizuishou"
  6. definiciones(20) = "Cristal Arco Iris. Son 7 cristales con los colores del arcoiris que al reunirse con la lagrima de Serena forman el Cristal de Plata, ocultos en el interior de siete humanos que son la reencarnacion de los siete demonios más poderosos del negaverso."
  7.  
  8. For i = 1 To 50
  9.    If InStr(LCase(definiciones(i)), LCase(Text1.Text)) Then
  10.        MsgBox palabras(i) & ": " & definiciones(i)
  11.    End If
  12. Next
  13. End Sub
« Última modificación: 12 Octubre 2008, 21:58 pm por Spider-Net » En línea

animalx3

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: dudilla sobre como hazer un dicionario
« Respuesta #4 en: 12 Octubre 2008, 22:00 pm »

gracias

aver si me sabes decir pk me da error de compilacion esk cuando quiero poner una palabra en el formulario me dice error de compilacion
Código:
Dim palabras(0 To 10) As String
Dim definiciones(0 To 10) As String
 
Private Sub Command1_Click()


Dim_palabras(0) = "a-su"
Dim_palabras(1) = "Aa"
Dim_palabras(2) = "Abayo"
Dim_palabras(3) = "Abekku"
Dim_palabras(4) = "Abunai"
Dim_palabras(5) = "Ace o Nerea"
Dim_palabras(6) = "Achi Kochi"
Dim_palabras(7) = "Aenaisago"
Dim_palabras(8) = "Agemasu"
Dim_palabras(9) = "Ah souka"




Dim_definiciones(0) = "Dia de la Tierra (22 de Abril)."
Dim_definiciones(1) = "Ah, Er. "
Dim_definiciones(2) = "Es a 'sayonara' como 'kisama' es a 'anata'... En términos más simples, 'abayo' es una forma muy poco cortés de despedirse de alguien."
Dim_definiciones(3) = "Juntos (con alguien)."
Dim_definiciones(4) = "Peligro, Peligroso, ¡Cuidado!."
Dim_definiciones(5) = "Raqueta de oro."
Dim_definiciones(6) = "Aquí y alla"
Dim_definiciones(7) = "Muerte Tragica. "
Dim_definiciones(8) = "Dar."
Dim_definiciones(9) = "Ah correcto."
 
Dim i As Integer
Dim palabras As String

Dim mensaje As Variant
If Text1 = "" Then
mensaje = MsgBox("escrive una palabra", vbExclamation, "te has oblidado de escribir la palabra")
End If

Next

mensaje = MsgBox("esta palabra no esxiste", vbOKOnly, "te has oblidado de escribir la palabra")


palabras = Text1.Text
For i = 0 To 10

If palabra = palabras(i) Then
Text2.Text = definiciones(i)
Exit Sub
End If
 
 
For i = 0 To 10
    If InStr(LCase(definiciones(i)), LCase(Text1.Text)) Then
        MsgBox palabras(i)
    End If
Next
End Sub

PD: como tendria que hazerlo para cargar el archivo asin me salvaria de tener que ponerlos todos esk hay un monton de palabras
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: dudilla sobre como hazer un dicionario
« Respuesta #5 en: 12 Octubre 2008, 22:05 pm »

Cuando establezcas el valor de la variable palabras y definiciones quitale el Dim_

Saludos.
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: dudilla sobre como hazer un dicionario
« Respuesta #6 en: 12 Octubre 2008, 23:48 pm »

Código
  1. Dim palabras(0 To 10) As String
  2. Dim definiciones(0 To 10) As String
  3.  
  4. Private Sub Command1_Click()
  5.  
  6.  
  7. palabras(0) = "a-su"
  8. palabras(1) = "Aa"
  9. palabras(2) = "Abayo"
  10. palabras(3) = "Abekku"
  11. palabras(4) = "Abunai"
  12. palabras(5) = "Ace o Nerea"
  13. palabras(6) = "Achi Kochi"
  14. palabras(7) = "Aenaisago"
  15. palabras(8) = "Agemasu"
  16. palabras(9) = "Ah souka"
  17.  
  18.  
  19.  
  20.  
  21. definiciones(0) = "Dia de la Tierra (22 de Abril)."
  22. definiciones(1) = "Ah, Er. "
  23. definiciones(2) = "Es a 'sayonara' como 'kisama' es a 'anata'... En términos más simples, 'abayo' es una forma muy poco cortés de despedirse de alguien."
  24. definiciones(3) = "Juntos (con alguien)."
  25. definiciones(4) = "Peligro, Peligroso, ¡Cuidado!."
  26. definiciones(5) = "Raqueta de oro."
  27. definiciones(6) = "Aquí y alla"
  28. definiciones(7) = "Muerte Tragica. "
  29. definiciones(8) = "Dar."
  30. definiciones(9) = "Ah correcto."
  31.  
  32. Dim i As Integer
  33. Dim pal As String
  34.  
  35. Dim mensaje As Variant
  36. If Text1.Text = "" Then
  37.    mensaje = MsgBox("escribe una palabra", vbExclamation, "te has olvidado de escribir la palabra")
  38. End If
  39.  
  40. mensaje = MsgBox("esta palabra no existe", vbOKOnly, "te has olvidado de escribir la palabra")
  41.  
  42.  
  43. pal = Text1.Text
  44. For i = 0 To 10
  45.    If pal = palabras(i) Then
  46.        Text2.Text = definiciones(i)
  47.        Exit Sub
  48.    End If
  49. Next
  50.  
  51. For i = 0 To 10
  52.    If InStr(LCase(definiciones(i)), LCase(Text1.Text)) Then
  53.        MsgBox palabras(i)
  54.    End If
  55. Next
  56. End Sub

- Dim solo se usa para declarar variables, nunca más a lo largo del programa.
- Has declarado la variable "palabras" y ese es el mismo nombre que tenía el vector. No puede haber dos variables con un mismo nombre en un programa.
- Indenta bien tu código, sólo tenias indentado lo que habías copiado de mi ejemplo y si un código no está bien indentado es más difícil de entender.
- Te he corregido varias faltas de ortografía, "escribe" es con b y no es "oblidado" es "olvidado".

LEE UN BUEN MANUAL DE VISUAL BASIC, POR TUS ERRORES DEDUZCO QUE ESTÁS MUY PERDIDO Y NO TIENES MUCHA IDEA DEL TEMA, ASÍ QUE ES MEJOR QUE ESTUDIES UN POCO ANTES DE EMPEZAR A PROGRAMAR.

Como siempre digo, no quieras correr sin saber gatear...

Saludos!
« Última modificación: 12 Octubre 2008, 23:55 pm por Spider-Net » En línea

animalx3

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: dudilla sobre como hazer un dicionario
« Respuesta #7 en: 13 Octubre 2008, 08:20 am »

vale me tragare todos los manuales que sea necesario >:D

i gracias por coregir el codigo ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
wpa mas rapido con dicionario o sin dicionario
Hacking Wireless
sancakoky 1 6,200 Último mensaje 9 Febrero 2011, 14:12 pm
por sancakoky
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines