analizar partes de texto en una variable

Iniciado por abreu20011, 26 Febrero 2008, 19:35 PM

0 Miembros y 2 Visitantes están viendo este tema.

abreu20011

Buenas  ;)

Estoy haciendo un trabajillo bajo modo consola de una calculadora y por ahora todo está bien, pero se me ocurrió que sería "más chulo" si el programa analizase en una variable (conmocionada por console.readline) el texto ingresado... me explico:

Si el usuario escribre "2+2" pues que sea capaz de saber que el primer caracter es un operando, el segundo un simbolo (ingnorarlo) y el tercero el segundo operando)

Cree una función que recibiera dos valores integer (n1 y n2) y devolveira otro integer:

Citar
Return N1+N2 'En caso de suma

Pero luego cai en que no se como enviarle una parte del texto escrito a la función :o

Por ahora sólo funciona dandole los valores por separados, guardados en dos variables (a y b) y luego sumados... Se me ocurrio hacer lo del salto de espacios con {0,1} pero no se lo puedo añadir a un console.readline asi que no se me ocurre  :-[

Bueno, si a alguien se le ocurre mil gracias  ;D
Saludos

Hendrix

Por el foro esta mi primer interprete de "lenguaje" que hice en VB, es una chapuza, ya que de interprete tiene poco, pero bueno, quizas te sirva para tu practica.

Codigo Fuente

Un Saludo  :)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

abreu20011

Gracias por tu ayuda Hendrix, pero el código esta en VB6 o anterior y en mi querido y odiado al mismo tiempo windows vista el visual basic 6 (el unico que tengo que no sea .NET) ha decidido que no piensa funcionar  :-\

De todos modos gracias por tu ayuda  ;)

PD: supongo que tendre que instalarme win98 (por las dudas) en una maquina virtual sino queda más remedio, asi que tu ayuda no queda en vano  ;D gracias  ;)

Hendrix

Recuerda que en el win98 si no instalas el VB o la Dll que requieren los ejecutables del VB no vas a poder correr ejecutables echos en VB, en el XP esa Dll ya viene por defecto  ;)

Un saludo
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Chefito

AVISO: No se apenas vb.net. Seguramente me equivoco en cosas, pero la intención es lo que cuenta no? ;D
Esto se realiza en todos los lenguajes igual :) Haz que la función recoja toda la linea de la consola (según lo que has dicho ya lo tienes echo...supongo que con console.readline) y luego la tratarlas (ver hasta donde son números,operadores,etc)....por ejemplo con funciones de tratamiento de texto y con select case.

También puedes utilizar:
tecla=console.readkey.keychar
Esto te dará la tecla pulsada, y así puedes ir analizando todas las teclas una a una. Esto puede servirte para desechar teclas que no quieras (ejem. letras) o alguna otra cosa que necesites. Aunque no es precisamente necesario, ya que puedes decir al final de la expresión que no es valida por cualquier causa y no complicarte.
Por cierto, hay un foro para .net.....que lo sepas :)
Saludos
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

abreu20011

Hendrix: Logré encontrar un paquete por la mula de un VB6 que va en Vista  :laugh: asi que voy a analizar tu código  ;)

Chefito: Gracias, no sabia lo de keychar, provaré a ver como me va, ya comentaré algo por si en un futuro alguien tiene la duda que ya la tenga resuelta

Y no sabia lo del foro .NET, lo acabo de ver ahora, está curioso, pero ¿no es un foro orientado a Framework en general y este de Visual Basic  :o?

Saludos

Chefito

Vamos...yo no estoy mucho tiempo por aquí, pero según he visto en el foro, parece ser que está enfocado a vb6...y el que te dije a todo tipo de lenguajes .net. A ver si algún moderader te lo confirma o diche lo contrario. Personalmente a mi no me importa que se hable también de vb.net aquí (mejor, así vamos aprendiendo algo de .net :))....aunque seguramente te podrán contestar mejor temas de .net en el subforo de .net (lo que no significa que aquí no hayan también personas que puedan ayudarte perfectamente).
Saludos.
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

cassiani

Cita de: Chefito en 28 Febrero 2008, 20:44 PM
a mi no me importa que se hable también de vb.net aquí (mejor, así vamos aprendiendo algo de .net :))....aunque seguramente te podrán contestar mejor temas de .net en el subforo de .net (lo que no significa que aquí no hayan también personas que puedan ayudarte perfectamente).
Saludos.

No ¡error! eso solo crearia un gran desorden dentro de este subforo, por eso justamente se creo el de .net, vamos a organizarnos cada cosa en su lugar, si preguntan .net debe ser alla, aqui vb. ¡sin animos de molestar!

Acá hay muchos que no tienen ningun problema en responder, en ese caso se le aconsejaria postear por alla y se le responde.

Dime tu Chefito si no es la mejor manera de trabajar  :rolleyes: ¡S4lu2!

Chefito

C@ss¡@n¡ tiene toda la razón....ante todo organización  ;). Como él dice.....y dije yo anteriormente....para eso se creo el subforo .net no?  :). Lo que pasa que no sabía exactamente la política del canal. Aunque sigo diciendo que si se escapa alguna pregunta y le puedo ayudar.....le ayudaré  :P, diciendole por supuesto que existe otro canal para estos temas. Como decía el chiste: Manolo...organizaciónnnnnnnn....que has apagado la luz 3 veces y en una habitación con 20 tias me has dado 3 veces por culo...jajjajajaja.
Saludos.
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)