Red de conocimiento informático - Problemas con los teléfonos móviles - VB puede calcular fórmulas basadas en texto

VB puede calcular fórmulas basadas en texto

Requisitos previos:

1. Usar vb6.NET Framework 3.0.

0

2. La fórmula sigue el formato que usted proporcionó: una fórmula por línea, cada variable está en letras mayúsculas simples, no hay espacios en el medio y otros símbolos que no sean de operación.

3. Por conveniencia, se utiliza un cuadro de texto en lugar de un archivo de texto. Puede cambiarlo usted mismo

4. debe ingresarse en el cuadro de texto, es decir, Text1.MultiLine?MultiLine?= ?True

Aquí está el código fuente: Option?Explicit

Dim?)?As?Long? 'Se usa para almacenar los resultados de los cálculos, todo en letras mayúsculas del código ASCII, si necesita almacenarlo

Dim?weizhi?As?Long?'Se usa para registrar la posición actual de la fórmula en el texto

Dim?s?As?String? 'Se utiliza para almacenar el texto, que se puede leer desde un archivo y, en este caso, para facilitar la depuración, se utiliza el contenido de text1

¿Privado?Función de declaración EbExecuteLine Lib?"vba6. dll"?(? _

ByVal?_

ByVal?Unknownn1?As?Long,? _

¿ByVal?Unknownnn2?As?Long,?_

ByVal?fCheckOnly?As?Long)?As?Long

Función?StepLine(ByVal? cmd?As?String)?As?Long

StepLine ?cmd),?0,?0,?0)

Fin de función

Privado?Sub ?Form_Load()

weizhi?=?1

Dim?i?As?Long

For?i?=??' carácter que desee. Puede asignar un valor según sea necesario

zifu(i)? = ?i?-?64

Siguiente?i

Fin? Sub

¿Privado?Sub?Command1_Click()?Ejecutar cálculo

Dim?tem?As?String?'¿Se utiliza para almacenar una fila de fórmulas

s? =?Text1.Text?'Cadena de inicialización, puedes leer el archivo en su lugar

Hacer

tem?=?qugongshi?'Extraer una fila de fórmula

If? tem?<>?"" Entonces

jisuan?(tem)?Calcular la fórmula de la fila Fórmula

Else

MsgBox?"La fórmula ha sido calculado! "

¿Salir? ¿

Fin? Si

Bucle

weizhi?=?1

¿Fin? Sub

¿Pública?Función?qugongshi()?As?Cadena?Extraer una fila de fórmulas

Dim?s1?As?Long,?s2?As?Long

s1?=?weizhi

Si?weizhi?>=?Len(s)?Entonces

qugongshi?

Salir de la función

¿Fin?Si

s2?=?En

Str(s1,?s,?Chr(13))

qugongshi?=?Mid(s,?s1,?s2?-?s1)

weizhi?=?s2 ?+?2

Weizhi?=?s2?

Función final

¿Pública?Sub?jisuan(gongshi?As?String)?Según un determinado línea de fórmula Resultado del cálculo, el parámetro es una línea de fórmula

On?Error?GoTo?ErrorHandler

Dim?i?As?Long,?n?As?Long,? m?As?String

m?=?"" ?' m se utiliza para registrar los resultados del cálculo, es decir =

For?i?=?3?To?Len( gongshi) ?' pondrá en mayúscula las variables Reemplace con variables en minúsculas. Usar=

n?=?Asc(Mid(gongshi,?i,?1))

Si?n?>=?65?Y?n?<=?90 Entonces

m?=?m?&?zifu(n)

Else

m?=?m?&?Mid(gongshi,?i, ?1)

¿Fin?Si

Siguiente?i

Imprimir?m

Línea de paso?"Dim?a?as?long "

StepLine?"a ="? &?m

StepLine?"ClipBoard.SetText?a"

10:¿Error en los eventos?' Cuando está activado, puede haber demasiados bucles. Si encuentra este tipo de secuelas, puede realizar varios bucles en esta línea de código sin necesidad de un controlador de errores

m?=?Clipboard. .GetText

Imprimir?Left(gongshi,?2)? &?m

zifu(Asc(Left(gongshi,?1))?=?Val(m)?if Si necesita dar el valor de la variable correspondiente en la matriz de variables, puede agregar aquí el código correspondiente para participar en las operaciones posteriores

Exit?Sub

ErrorHandler:'? Manejador de errores.

Si Err.Number = 521, vaya a 10

¿Fin?