Lunes 18 de Noviembre de 2024, 03:57
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Evaluar Formula Que Esta En Fichero Texto
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Evaluar Formula Que Esta En Fichero Texto (Leído 2424 veces)
sirespi
Miembro activo
Mensajes: 64
Evaluar Formula Que Esta En Fichero Texto
«
en:
Jueves 14 de Julio de 2005, 11:01 »
0
Muy buenas a todos de nuevo.
Ante todo saludos,hace mucho qeu no estaba por aqui y recuerdo este foro con mucho gusto ya que me ayudaron un monton con el PFC. Resulta que he retomado el proyecto para mejorarlo y ahora eh vuelto con VB y con mis dudas. A ver si me podeis echar una manita.
Resulta que quiero hacer una especie de editor de ecuaciones. Lo que quiero es un formulario que me guarde la ecuacion que yo escribo en un archivo de tecto. Eso esta hecho y es facil. Pero luego quiero que otro formulario me muestre en pantalla el resultado de esa formula que esta en un archivo de texto. Os pongo el codigo que he hecho
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
Dim variable As Integer
A = 2
B = 3
Open App.Path & "\" & "ecuacion.txt" For Input As #1
Input #1, variable
Close (1)
Text1.Text = variable
End Sub
El archivo ecuacion.txt solo tiene una linea, y pone A*B, ya esta.
El archivo lo abre bien, pero en lugar de mostrarme en el texto el valor 6 que es lo que espero, me saca un cero, es decir, no evala la expresion. Se que me falta algo en algun lado.
Alguno me puede hechar una manilla????
Un saludo y muchas gracias.
Tweet
Shiquilla
Miembro MUY activo
Mensajes: 188
Nacionalidad:
Re: Evaluar Formula Que Esta En Fichero Texto
«
Respuesta #1 en:
Jueves 14 de Julio de 2005, 12:03 »
0
Código: Text
Option Explicit
Private Sub Form_Load()
Dim A As Integer
Dim B As Integer
Dim variable As String
A = 2
B = 3
Open App.Path & "\" & "ecuacion.txt" For Input As #1
Input #1, variable
Close (1)
msRealizarOperacion variable, A, B
End Sub
Private Sub msRealizarOperacion(lsOperacion As String, A As Integer, B As Integer)
Dim lnOperacion As Long
Dim lsLetra As String
lsLetra = Mid(lsOperacion, 1, 1)
lnOperacion = mfnOperacion(lsOperacion)
If lsLetra = "A" Then 'A*B
Select Case lnOperacion
Case 1 'Multiplicar
Text1.Text = A * B
Case 2 'Dividir
Text1.Text = A / B
End Select
Else 'B*A
Select Case lnOperacion
Case 1 'Multiplicar
Text1.Text = B * A
Case 2 'Dividir
Text1.Text = B / A
End Select
End If
End Sub
Private Function mfnOperacion(lsOperacion As String)
If InStr(1, lsOperacion, "*") Then 'Multiplicar
mfnOperacion = 1
ElseIf InStr(1, lsOperacion, "/") Then 'Dividir
mfnOperacion = 2
End If
End Function
No se me ocurre hacerlo de otra forma aunque esto es sólo un ejemplo...
Saludos,
« §hÿqµïllæ »
sirespi
Miembro activo
Mensajes: 64
Re: Evaluar Formula Que Esta En Fichero Texto
«
Respuesta #2 en:
Jueves 14 de Julio de 2005, 12:43 »
0
Muchas gracias Shiquilla.
el ejemplo esta muy bien, el problema es que la funcion que tu has creado esta pensada sabiendo lo que pone en el fichero de texto. Mi codigo era un solo ejemplo, se supone que cuando estoy en la parte de crear la formula, el usuario pone la formula que le da la gana, siempre que 4 o 5 variables fijas, pero la formula que quiere, puede poner una multiplicacion, un logaritmo neperiano, una permutacion, vete tu a saber.
Entonces el problema que yo veo e sque este ejemplo vale solo si sabes la ecuacion que va a poner el usuaio.
Es decir, lo que no se es porque si yo pongo esto por codigo
A=3
B=7
text1.text =(a+2)*b/(20^a)
esto si me lo hace, y me muestra un resultado pero cuando pongo el tocho de (a+2)*b/(20^a) lo meto en una variable que lo recoge de un txt, ejemplo
A=3
B=7
....
...
input #1,var
Close(1)
text1.text=var
porque aqui no lo hace.
Alguna idea??
Shiquilla
Miembro MUY activo
Mensajes: 188
Nacionalidad:
Re: Evaluar Formula Que Esta En Fichero Texto
«
Respuesta #3 en:
Viernes 15 de Julio de 2005, 08:01 »
0
Sé que lo que he hecho es sólo un ejemplo, pero en ese ejemplo ves que no puedes tratar una cadena de texto (sería la operación a realizar) y que se ejecute la operación, porque para VB eso es un String.
Entonces tienes que crearte funciones para desglosar esa cadena de texto, por eso mi ejemplo estaba así.
Es definitiva, si tú pones en código de VB tienes que A=2 y B=3, todas las operaciones que hagas con esas variables si que te las realizará, pero ten en cuenta que para VB lo que estás recuperando (hablando de recuperar la operación de un fichero de texto) es un String.
Saludos,
« §hÿqµïllæ »
Jose Arriagada
Miembro MUY activo
Mensajes: 373
Re: Evaluar Formula Que Esta En Fichero Texto
«
Respuesta #4 en:
Miércoles 20 de Julio de 2005, 22:02 »
0
Utiliza el control msscript que permite evaluar expresiones matematicas.
Es facil de usar, y de acuerdo a la modalidad que dices operarar (por medio de un archivo donde tienes los valores y la ecuacion), con este control te sera super facil.
Ahi te va un codigo de ejemplo, para que lo estudies y decidas.
Suerte
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
sirespi
Miembro activo
Mensajes: 64
Re: Evaluar Formula Que Esta En Fichero Texto
«
Respuesta #5 en:
Jueves 21 de Julio de 2005, 13:27 »
0
Pues no habia pensado en esto, mas que nada ni sabia que existiera esto. He hecho como me dijeron, me he creado un pedazo de codigo de la leche par que vaya leyendo la ecuacion, y diferenciando (, *, +, - y que operaciones se ahcen primeor etc etc. La verdad es qeu si no llega a ser por algun codigo que he visto por internet en alguans paginas me vuelvo loco.
Pero bueno, ya esta hecho y funciona, asi que ahora que tengo lo que queria, puedo probar esto con tranquilidad
Muchas gracias por al ayuda.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Evaluar Formula Que Esta En Fichero Texto