Título: [Ayuda] Como puedo validar esto? Publicado por: Dreamaker en 28 Mayo 2010, 18:33 pm Hola a todos, estoy haciendo un programa para convertir palabras a palindromas, donde el código contiene 2 funciones:
Una llamada Verificar() que lo que hace es verificar si la palabra ya es palindroma: Por ejemplo, oro, oso, anana Y otra llamada Convertir() que en el caso de que la palabra ingresada no sea palindroma, entonces la convierte, ejemplo: Perro -> PerrorreP Rata -> RatataR Está validado para que si la palabra es palindroma, muestre en un label un mensaje diciendo "La palabra ingresada ya es palindroma", si no es entonces la convierte y la muestra Lo que yo quiero hacer es que si el usuario ingresa numeros o cualquier otra cosa que no sean letras, por ej "*5846-!,,,.." y aprete el boton de Convertir, tire un mensaje al Label diciendo "La palabra ingresada no es válida o la caja de texto está vacía, por favor ingrese otro valor" Se entiende? Me supongo que es sencillo pero no logro aclararme alguna idea de como hacerlo, les dejo el código principal: Código
Está validado para lo que dije, lo que yo quiero es que diga lo otro en caso de que no sean letras lo que contiene la caja pero que tampoco pueda hacer trampa y poner "adsd5648" Gracias, a ver si se les ocurre algo :huh: PD: El problema es que ya probé poniendo con un Select case y los 3 casos, si es palindroma, si es distinto de palindromo (pero en este caso "*46541" como no es palindroma me la convertiría igual) Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Shell Root en 28 Mayo 2010, 21:12 pm Podrías usar expresiones regulares. Como está:
Código Donde solo acepta Letras Minúsculas y Mayúsculas. En caso de ingresar un carácter especial o un numero no se cumpliría la RegExp. Por ejemplo: (Aunque me falto la validación que mensionabas) Código PoC: Código
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Dreamaker en 29 Mayo 2010, 00:55 am Pero estamos en visual basic, no sé programar en C :xD
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Shell Root en 29 Mayo 2010, 03:16 am No es C, es PHP, y solo te di un ejemplo.
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: BlackZeroX en 29 Mayo 2010, 11:50 am [b]lo peor que se puede hacer en un lugar de un tema fijado es relacionarlo con otro cuando este no le importa en lo absoluto al individuo sudicho, aquen que lo de expresiones regulares esta bien... pero el ejemplo esta pesimo en este subforo.[/b]
* Aqui la liga a expresiones regulares en vb6.0. http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm Dulce Infierno Lunar!¡. Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Karcrack en 29 Mayo 2010, 13:13 pm Con un poco de logica y StrReverse() tienes mas que suficiente ;)
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Dreamaker en 29 Mayo 2010, 17:12 pm Claro Karcrack pero la idea no es usar funciones del vb (que yo se que hay muchas) sino crear mis propias funciones, ya que cuando te pasas a otro lenguaje las funciones no son todas igual y varían algunas, la idea es aprender a programar completamente para poder migrar a cualquier otro lenguaje apenas cambiando la sintaxis y aprendiendo unos detalles más (como punteros y todo eso) :laugh:
Todavía no me pude ingeniar una idea para hcerlo :-\ Título: Re: [Ayuda] Como puedo validar esto? Publicado por: BlackZeroX en 29 Mayo 2010, 20:48 pm lo que dices se entiende de por medio desde que empiesas a programar, solo que hay que saber que hace X funcion despues puedes recrearla sin problemas, si no sabes que hace entonces en C/C++ como ejemplos no migrarias tan facil.
En resumen solo hay que saber que hace X funcion lo demas es logica rudimentaria en la migracion a otro lenguaje X. Dulces Lunas!¡. Título: Re: [Ayuda] Como puedo validar esto? Publicado por: BlackZeroX en 29 Mayo 2010, 21:35 pm estoy aburrido asi que hice esto para vos nos vemos.
Son dos funciones para que compares que onda con lo que se te dice arriba un poco: las funciones son similares como vez xP Código
Código
funciones alternativas Código
P.D.: las funciones son similares como vez si hay dudas avisa. Dulce Infierno Lunar!¡. Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Dreamaker en 29 Mayo 2010, 21:52 pm Cuando pones:
Código
Es para declarar que la variable contendrá un carácter y por eso se coloca el *1? Para qué es necesario? Declarando que contendrá un sólo carácter ocupa menos memoria que si le pones un sólo caracter sin poner el *1? Título: Re: [Ayuda] Como puedo validar esto? Publicado por: BlackZeroX en 30 Mayo 2010, 07:27 am Cuando pones: Código
Es para declarar que la variable contendrá un carácter y por eso se coloca el *1? Para qué es necesario? Declarando que contendrá un sólo carácter ocupa menos memoria que si le pones un sólo caracter sin poner el *1? yo en lo personal lo hago por que solo ocupo y dejo lo nesesario en su declaracion es decir su longitud maxima y cuando uso el mid$ no se nesesita seguir estos pasos: Redimencionar string establecer String y esto X veces sea en el bucle por lo cual conlleva un poco mas de tiempo, por lo contrario si se hace de la forma en la declaracion en una longitud fija solo va a pasar a introducir el valor y la variable string SIEMPRE va a contener la logitud deseada y si no se llenace totalmente se poner Bytes 0 o nullos. Dulce Infierno Lunar!¡. Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Karcrack en 30 Mayo 2010, 13:00 pm No entiendo por que te complicas tanto para hacer el StrReverse() :-\
Código
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Dreamaker en 30 Mayo 2010, 15:59 pm Karcrack, que hace el Mid con el signo "$"?
Porque yo hasta ahora lo usaba simplemente Mid(<Cadena>,<Posición>,<Longitud>) :huh: Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Karcrack en 30 Mayo 2010, 16:43 pm Utilizar el dolar es mas optimo, debido a que si no especificas usando el dolar que quieres que devuelva String, la funcion devuelve Variant, luego VB tiene que hacer la conversion para meter los datos en una String ;)
Título: Re: [Ayuda] Como puedo validar esto? Publicado por: burbu_1 en 30 Mayo 2010, 18:45 pm Utilizar el dolar es mas optimo, debido a que si no especificas usando el dolar que quieres que devuelva String, la funcion devuelve Variant, luego VB tiene que hacer la conversion para meter los datos en una String ;) hola, sin ánimo de comenzar una discusión con los grandes (porque seguro saldría perdiendo.... :-[) tenía entendido que la función mid devuelve un string de por sí :-\ Código
http://msdn.microsoft.com/en-us/library/05e63829%28VS.80%29.aspx saludos. Título: Re: [Ayuda] Como puedo validar esto? Publicado por: Karcrack en 30 Mayo 2010, 19:11 pm Fijate que gran parte de la documentacion de la MSDN ya no es para VB6
Código Prueba a ejecutar eso en VB6 :P Fijate que al poner Mid( te saldra la declaracion de la funcion, si pones Mid$( pone al final "As String" A la hora de programar no hay diferencia, pero una vez compilado el proceso es distinto ;) Título: Re: [Ayuda] Como puedo validar esto? Publicado por: cobein en 30 Mayo 2010, 23:45 pm Sacado de msvbvm60.dll
Código: Module Constants; Título: Re: [Ayuda] Como puedo validar esto? Publicado por: LeandroA en 31 Mayo 2010, 11:31 am ya que se sale el tema, pregunto con respecto a valores numericos con los singnos.
he visto que cuando se utiliza una API muchas veces en los valores nulos (cero u otros tambien) se los pasa con los singos por ejemplo Código: SendMessage THWnd, WM_KEYDOWN, VK_R, 0& al cero se lo marca como un long ahora si yo ago esto, es nesesario, esta bien o esta mal? Código: dim Valor as long o esto Código: dim B() as byte Saludos. |