Quiero comprar un libro sobre vbs, ¡recomiéndelo!
Un libro de texto para principiantes que causó sensación en el círculo de hackers——Serie Aprende a programar conmigo
Serie Aprende a programar conmigo
Texto original Publicado por Fragmentos de Memoria en Blanco y Negro ¡Nueva Área! ¡¡¡Vuelva a publicar para que todos puedan aprender!!!
Descubrí que la mayoría de los amigos blancos y negros no saben programar, lo cual no es bueno, así que esta vez escribí un tutorial de programación simple, hablando sobre VBScript. . Principalmente para principiantes, los amigos que saben programación no deberían perder el tiempo. Si desea comenzar con VBScript a continuación, puede hacerlo. Sin embargo, dado que tiene habilidades básicas de programación, se recomienda leer directamente algunos libros de referencia. ¡sé más rápido!
¿Qué es VBScript?
¿Qué es VBScript? El nombre completo de VBScript es Microsoft Visual Basic Script Editon. (Edición Microsoft Visual BASIC Script). Literalmente, VBS (abreviatura adicional de VBScript) es un lenguaje de programación basado en Visual Basic. Permítanme explicarles más, Microsoft Visual Basic es un conjunto de herramientas de programación visual producidas por Microsoft Corporation con una sintaxis basada en Basic. El lenguaje de secuencia de comandos no se compila en un archivo binario y el host interpreta y ejecuta directamente el código fuente. En resumen, no es necesario compilar el programa que escribe en un .exe, sino enviar directamente el programa fuente al. usuario En lugar de compilar el programa en .exe, es mejor enviar el .vbs directamente al usuario, y el usuario podrá ejecutar el programa.
Sé que lo que más preocupa a los novatos ahora es qué herramienta utilizar para desarrollar programas VBS. La respuesta es: el Bloc de notas. No bromeo, de hecho, se puede utilizar cualquier editor de texto para desarrollar VBS, pero el Bloc de notas viene con el sistema, por lo que es mejor encontrarlo usted mismo. A pesar de esto, sigo recomendando que descargue un editor de texto profesional, porque estas herramientas pueden proporcionar funciones como "resaltado de sintaxis" y son más convenientes de desarrollar. ¿Cuál prefiere? Prefiero Edit Plus (2.10).
Bien, escribamos un programa VBScript para calentar.
Vuelva a ingresar y muestre su nombre
'Usar las funciones InputBox y Msgbox
Atenuar nombre, msg
msg="Por favor ingrese su nombre:"
name=Inputbox(msg, "name")
Msgbox( name)
Ingrese la lista de programas anterior en el Bloc de notas y luego Se guarda como un archivo con extensión .vbs (seleccione "Todos los archivos" para "Guardar como tipo"). Luego haga doble clic para ejecutar y observar los resultados. NOTA: Ingrese su propia lista de programas, ¡no copie y pegue!
Permítanme explicar este programa. La declaración "REM" al comienzo de la primera y segunda línea es lo mismo que "'", que es una línea de comentario. No hacer nada. Las cosas sólo se utilizan para describir las funciones del programa, información de derechos de autor, etc. Las líneas de comentarios son una de las partes más importantes de un programa. Aunque no son obligatorias, son útiles para que otros lean el código fuente y para que usted mismo lo analice. Es una buena práctica incluir comentarios concisos y claros cuando sea necesario.
Dim se utiliza para declarar variables. En VBS, el tipo de variable no es tan importante, es decir, VBS reconoce automáticamente el tipo de variable y usted no tiene que declarar la variable antes de usarla porque el programa asigna espacio para la variable dinámicamente.
En VBS, no tiene que preocuparse por si el nombre es un número entero o un decimal (el nombre científico es "número de punto flotante"), o si es una cadena (una cadena de caracteres, como "Hola mundo") , VBS se encargará de estos problemas por usted. Por lo tanto, la tercera línea se puede eliminar sin cambiar el efecto, pero lo desaconsejo encarecidamente porque el principio básico de las variables es: declarar primero, usar después. Una variable puede comenzar con una letra, un guión bajo o un número, pero no con una palabra que haya definido vbs (como dim), ni con un número puro.
La siguiente línea se llama "asignación". "=" es el símbolo de asignación, no el signo igual matemático, aunque tiene el mismo aspecto. Esta es la forma ortodoxa de entenderlo, y no hay nada de malo en que lo entiendas como un signo igual. El lado izquierdo del símbolo de asignación es la variable y el lado derecho es el valor que se asignará a la variable. Después de la asignación, el mensaje de la variable es equivalente a la cadena "Ingrese su nombre:" en el programa, pero cuando. El mensaje se copia nuevamente, el valor original desaparece. De esta manera se pueden asignar no sólo cadenas, sino también cualquier otra variable, por ejemplo: a=2, b=12.222, etc.
Mirando más abajo, Inputbox y Msgbox son funciones VBS integradas. Una función es equivalente a una "caja negra" con entrada (parámetros) y salida (valor de retorno). entender la función. Cómo funciona es sólo una cuestión de entender lo que la función puede hacer. También podemos definir nuestras propias funciones, pero eso es para otro día. Por ahora, sólo necesitamos entender que las funciones pueden tener un valor de retorno o ningún valor de retorno, y pueden tener parámetros o ningún parámetro. Por ejemplo, Inputbox es una función con un valor de retorno. La variable en el lado izquierdo del símbolo de asignación "recibe" el valor de retorno de InputBox, que es el contenido que ingresó. Hay una serie de parámetros entre paréntesis en el lado derecho del cuadro de entrada. Cada parámetro está separado por ",". Por ejemplo, el primer parámetro se mostrará en el mensaje, pasamos la variable msg como primer parámetro a la función del cuadro de entrada, msg="Por favor ingrese su nombre:", así veremos en el mensaje del cuadro de diálogo "Por favor ingrese su nombre:". El segundo parámetro es el título del cuadro de diálogo, que pasamos directamente a la función como una cantidad (el nombre científico es "constante", en este caso "constante de cadena"), pero también se pueden pasar variables. También hay muchos parámetros en el cuadro de entrada. Por ejemplo, agrega un "," después de "nombre" y luego ingresa aleatoriamente una cadena de caracteres (una cadena, una cadena entre comillas dobles "" se llama cadena), y luego ejecutar, Mira los resultados. Encontrará que el cuadro de texto de entrada tiene un valor predeterminado, que es lo que hace el tercer parámetro.
La función Msgbox es una función utilizada para la salida. No existe una función de salida especial en VBS (imprimir en BASIC, printf en lenguaje C), por lo que solo podemos usar el cuadro de diálogo para observar los resultados de la salida. Msgbox Solo hay un parámetro necesario, que es el contenido que se generará. En este caso, no necesitamos prestar atención al valor de retorno de msgbox. Msgbox y Inputbox los discutiremos más adelante, hoy es solo un calentamiento, eso es todo.
Aspectos destacados:
1) Las líneas de comentarios (que comienzan con REM o '') no tienen ningún efecto en los programas, pero facilitan que las personas lean su programa.
2) Las variables son como cuadros o símbolos que representan lo que quieres que representen. Las variables usan "=" para la asignación
3) Los caracteres envueltos con "" se llaman "cadenas"
4) La función es como una "caja negra" con parámetros y valores de retorno , "="La variable de la izquierda puede capturar el valor de retorno
5) La función Inputbox muestra un cuadro de diálogo para la entrada y Msgbox se usa para la salida
Asignación:
1) La función del cuadro de entrada muestra un cuadro de diálogo para la entrada, Msgbox para la salida
2) Las variables son como cuadros o símbolos que representan lo que usted desea que representen.
1) Intente utilizar el tercer parámetro de Inputbox
2) Escriba un programa para generar su edad
3) Escriba un programa y hágalo 3 veces Ingrese, ingrese su nombre y el de sus padres (con indicaciones) y envíelos en 3 salidas diferentes
Segundo elemento:
No creo que nadie más no sepa cómo para completar su primera tarea.
Voy a hablar sobre cantidades y operaciones básicas con mucho, mucho detalle
Primero están las constantes, que son relativamente simples.
¿Qué son las constantes? Una constante es una cantidad cuyo valor no se puede cambiar.
Existen dos tipos de constantes: la primera son las constantes naturales. Esto se debe a que son constantes en sí mismas. ¿Cómo se puede cambiar el valor de 21? Siempre es 21, nunca 46
Si usa "21=46" en su programa, dicha declaración provocará un error. Del mismo modo, las cadenas son constantes (¿recuerdas las cadenas? Es una cadena de caracteres envuelta en ""), "Hello World" es un ejemplo, y si usas la declaración "Hello World"="Bye", también arrojará un error. ¿Puedes dar más ejemplos de constantes naturales?
El segundo tipo son las constantes definidas por nosotros mismos. También son cantidades que usan códigos y también se les asignarán valores, pero a diferencia de las variables, se les asignan valores cuando se definen y no se pueden cambiar más adelante. Los cambios pueden provocar errores. Para definir una variable, usamos la palabra clave "const" (esta palabra clave indica que el sistema define una palabra con funciones especiales y no se puede usar como variable o constante), el formato es: const nombre constante = valor constante.
Por ejemplo:
const PI=3.1415926
const NAME="Fragmento de Memoria"
De esta forma definimos dos constantes: PI y NOMBRE. Es una buena idea definir constantes para valores que no necesitan cambiar en su programa para evitar sorpresas innecesarias. Además, el uso de constantes personalizadas puede reducir la carga de trabajo. Por ejemplo:
msgbox("Hola Mundo"
msgbox("Hola Mundo"
msgbox("Hola Mundo")
msgbox ("Hello World")
msgbox("Hello World")
Este programa generará Hello World cinco veces. Si desea cambiar la salida a Bye-Bye, puede hacerlo. Debe modificarlo, por supuesto, puede generar manualmente el programa completo 5 veces, pero ¿qué pasa si desea generar 1000 veces? Las constantes resuelven este problema por nosotros:
const hw="Hello World"
msgbox (hw)
msgbox(hw)
MSGBOX(HW)
msgbox(HW)
msgbox( HW)
msgbox(HW)
msgbox(HW)
msgbox(HW)
De esta manera, cuando quieras cambiar la salida, simplemente cambie hw
Bien, ahora veamos el primer "bloque de construcción" importante de la programación: las variables. La mejor manera de explicar las variables es representarlas como "cuadros". La caja solo puede contener una cosa. Cuando quieras poner otras cosas, debes sacar la cosa original. La caja tiene un nombre. Cuando uses la variable en el programa, el sistema abrirá la caja y la sacará. Lo que hay dentro, deja que esas cosas participen en el procesamiento, no la caja.
Algunos idiomas dependen en gran medida del contenido del cuadro para encontrar el cuadro correcto (como C), pero VBS me proporciona un cuadro mágico que se escala automáticamente, por lo que no tenemos que preocuparnos por el contenido del cuadro. p>
VBS cambiará automáticamente el tamaño del cuadro. Por ejemplo:
Atenuar a1, a2, a3
a1=14
a2=12.23
a3="Hola" p >
Ahorre todos los problemas de la declaración formal (puede declararse o no) en C: o VB:
int a1; Dim a1 as integer
float a2; Atenuar a2 como Double
char* a3; Atenuar a3 como strnig
a1=14; a1=14
a2=12.23; >
a3="Hola"; a3="Hola"
Vale,..., esto está lejos de...
¿Para qué sirven las variables? Vaya, eso es mucho. En su forma más simple, no puede determinar cuál será el valor de una variable mientras se ejecuta el programa. Por ejemplo, en la lección anterior, cuando escribimos un programa para un cuadro de entrada de nombre, no podía estar seguro de qué valor devolvería el cuadro de entrada (¿recuerda el valor devuelto del cuadro de entrada? Eso es lo que ingresó), por lo que tenía No hay forma de lidiar con cada situación. En este caso, usamos el nombre del "cuadro" para ingresar el nombre del usuario en el cuadro. Al usarlo, solo necesitamos saber el nombre en el cuadro y el sistema se abrirá. y utilizar el contenido. Para otro ejemplo, escribimos un programa para calcular el área de un rectángulo. Por ejemplo, enviamos este programa a estudiantes de primaria:
dim a, b, s
a. =15
b=12
s=a*b
msgbox(s)
De esta manera puedes encontrar un rectángulo con un largo de 15 y un ancho de 12 áreas, ¿no es muy sencillo? ¿Es simple el área de un rectángulo de largo 15 y ancho 12? Por supuesto, el programa también se puede escribir así:
dim s
s=15*12
msgbox(s)
Un programa así parece mucho más corto y ahorra memoria, pero este enfoque no es aconsejable. ¿Por qué? Vea abajo.
Ahora, debemos hacer que nuestro programa se vea más hermoso. ¿Quién modificaría el código fuente para que se ejecute después de escribir el programa?
Entonces debemos aceptar la entrada del usuario, ¿recuerdas? Función de cuadro de entrada.
El programa modificado es el siguiente:
dim a, b, s
a=inputbox("Ingrese la longitud del rectángulo:") p >
b=inputbox("Ingrese el ancho del rectángulo:")
s=a*b
msgbox(s)
OK , cámbielo así, no importa qué datos ingrese el usuario, podemos calcular el área del rectángulo. Si se usa s=15*12, ¿se puede cambiar? Por supuesto que no.
Creo que has entendido que las operaciones matemáticas en vbs no son diferentes de las operaciones reales. El uso de , -, *, /, (), [], {} son los mismos, por ejemplo. :
tenue ans
ans=12 32/4 [(23-10)*2]
msgbox(ans)
Estas cuatro operaciones son las mismas que las cuatro operaciones en vbs.
El algoritmo cuadrático también se aplica a la programación, y puedes recuperar la diversión que tenías en la escuela primaria con la programación (¿odias las matemáticas? Entonces no aprendas informática).
Un operador interesante en programación es "mod", que se llama operador resto y es el resto de la división, por ejemplo:
dim a
a =16 mod 5
¿Sabes a cuántas veces es igual a? Dado que 16/5 = 3...1, mod calcula el resto.
Otro operador es "^" (la pequeña flecha encima de "6" en el teclado), que significa "exponenciación" (o "cuadrado"). Por ejemplo:
atenuar a, b, c
a=2
b=a^2
c=a^3
msgbox(a)
msgbox(c)
Entonces b=a*a=4, c=a*a*a=8
No queremos hablar demasiado a la vez, así que nos detendremos aquí y resumiremos ahora.
Puntos clave:
1) Las constantes se dividen en constantes naturales y constantes personalizadas. Los valores de las constantes no se pueden modificar.
2) Las variables son como. boxes Nosotros No me importa lo que haya en el cuadro, pero debo saber el nombre del cuadro
3) No hay diferencia en las cuatro operaciones aritméticas en programación
4) MOD es la operación de modulación
Asignación:
1) Compile el área de un círculo, el radio lo proporciona el usuario (use el cuadro de entrada) y el El valor PI es 3. 14159
2) Encuentra el resto 20/3
La tercera vez (***6)
En primer lugar, quiero hablar sobre algunos temas de la clase anterior
Primero, el tema restante. El primero es el problema del resto, 16/5 = 3...1. Esto se debe a que cambié la primera parte y olvidé cambiar la segunda parte.
En segundo lugar, eche un vistazo a la lista de programas:
1)
Dim a, b, c
a=inputbox ("a es: ", "radio de entrada")
b=inputbox("b es:", "radio de entrada")
c=a*2 b*2
Msgbox(c)
Cuando ingresas 1 y 2, es 6
2)
Atenuar a, b, c
a=inputbox("a es:", "Radio de entrada")
b=Inputbox("b es:", "Radio de entrada")
c= (a b)*2
Msgbox(c)
Cuando ingresas 1 o 2, el resultado es 24
¿Por qué es diferente? En matemáticas, c=(a b)*2 y c=a*2 b*2 son equivalentes, y lo mismo ocurre en VBS. El problema es " ", en VBS, " " no es solo un signo más, también significa concatenar dos cadenas, como "Hola " "Mundo"="HolaMundo", ¿entiendes? ¿Recuerda el valor de retorno de la función InoutBox? ¡Es una cuerda! Esto ilustra un problema en programación, "1" no es igual a (lt; gt;) 1. "1" es un carácter y 1 es un número, por lo que a y b son variables de cadena, " 1 " "2. "="12", esto es como cuando bromeamos con nuestros amigos y les preguntamos 1 1=? Siempre nos reímos y decimos: "No, son las 11".
Pero ¿por qué puede aparecer un *2 sin error? Esta es una de las manifestaciones más inteligentes de VBS. Si el contenido de la cadena es un número y se realizan operaciones matemáticas sobre él, la cadena se verá obligada a convertirse en un número para participar en la operación. , no participará en operaciones matemáticas. Participa en la operación (fusión) como una cadena, por lo que ves a b = 12. En este momento, el resultado de a b (12) es una cadena cuando se multiplica por 2. será una cuerda, a b = 12, cuando se multiplica por 2, será una cuerda. Cuando se multiplica por 2, se fuerza al número 12, dando el resultado 24.
¿Cómo modificar este programa? Necesitamos usar otra función incorporada: int. La función int es una función que convierte el valor de entrada en un valor entero. La modificamos así:
c=(int(a) int(. b))*2
Esto significa pasar a como parámetro a la función int, la función int devolverá el número entero (su valor de entrada) y luego dejará que el valor de retorno participe en la operación para obtener el respuesta correcta. Por lo tanto, si usas la función inputbox en el futuro, es mejor usar la declaración int: por ejemplo, c = int(c) 'c es tu propia variable
¿Crees que este curso es un un poco aburrido, jaja. Este es de hecho el caso con variables y operadores, pero sería bueno practicar más. Esta vez, estamos escribiendo cosas realmente interesantes: declaraciones de control de flujo. La verdadera programación comienza aquí.
Primero, presentamos la estructura del juicio.
Antes de eso, introduzcamos un tipo de variable simple: las variables booleanas tienen solo dos valores posibles: Las variables booleanas solo tienen dos valores posibles: verdadero, falso o falso. Las variables de este tipo son útiles en determinadas situaciones (como los "interruptores"). Definimos variables booleanas de la misma manera que otras variables y asignamos valores de la misma manera, por ejemplo:
dim a, b
a=true
b= false
Tenga en cuenta que verdadero es diferente de "verdadero" en que "verdadero" es una cadena y "verdadero" es un booleano, así que no se confunda.
Volviendo a la declaración if, veamos una versión simplificada de la declaración if: if juicio entonces cuerpo de la declaración Veamos un ejemplo:
dim a, b
a=12
b=13
si bgt;a entonces msgbox("B es mayor que A")
Solo necesitamos mirar en la última línea, agt; a then msgbox("B es mayor que A")
Solo necesitamos mirar la última línea, agt; a then msgbox("B es mayor que A")
Solo necesitamos mirar la última línea, luego msgbox("B es mayor que A"). Desde la última línea, la ecuación agt;b tiene un valor de retorno de tipo bool. Dado que sólo hay dos posibilidades para esta ecuación: b es mayor que a y b no es mayor que a, sólo hay dos posibilidades para esta ecuación: verdadero o falso.
La declaración if determina si el valor de retorno de la expresión es verdadero o falso. Si es verdadero, se ejecutará la declaración posterior. Si es falso, no se ejecutará. si el cuadro de diálogo todavía existe?
¿Qué debemos hacer cuando queremos ejecutar varias declaraciones? Necesitamos usar bloques de declaraciones para resolver el problema. Aquí podemos llamar al bloque de declaraciones if
dim a, b<. /p>
a=12
b=13
if alt; b entonces
msgbox("A es menor que B") p>
msgbox("B es mayor que A")
end if
Estas dos funciones de msgbox están intercaladas entre if y end if. Esta sección es un bloque de declaraciones. Hay de 4 a 8 (un lt; Tabgt; clave) espacios antes de cada declaración en el bloque de declaraciones. Esto no es necesario, pero es un buen hábito que puede ayudarnos a comprender la estructura. el programa. De esta manera podemos ejecutar múltiples declaraciones, note if...then...end if, para que podamos ejecutar más de una declaración, note if...then...end if es la parte clave. Bien, aquí hay un problema: ingresa un número, si es menor que 100, sale "incorrecto", si es mayor que 100, sale "correcto", tengo dos versiones del programa:
dim a
a=inputbox("Ingrese un número mayor que 100")
a=int(a) 'El cuadro de entrada devuelve una cadena. Si el cuadro de entrada devuelve una cadena, la cambiamos a un número entero:)
Si es 100, entonces msgbox("correcto")
Si es 100, entonces msgbox(" Incorrecto; ")
Hay uno más simple
dim a
a=inputbox("Escriba un número mayor que 100")
a=int(a) 'El cuadro de entrada devuelve una cadena, la convertimos a un número entero
Si agt es 100 entonces
msgbox("correct")
p>else
msgbox("incorrect")
end if
Ver extra else, que cuando la expresión sea falsa se ejecutará. Esto permite que el programa maneje dos situaciones diferentes.
No olvides terminar con end if
Oye, soy un pervertido, ahora quiero que manejes tres situaciones, <100, =100, >100, y las escribas en la estructura if. Tú Qué hacer, déjame decirte la respuesta:
dim a
a=inputbox("Ingresa un número mayor que 100")
a =int (a) 'inputbox devuelve una cadena, la convertimos en un número entero
si agt 100 entonces
msgbox("Correct")
elseif; a=100 then
msgbox("Jefe, ¿te estás metiendo conmigo?")
else
msgbox("Error")
Finalizar si
Ingrese 100 esta vez y vea cuál es el resultado. En una estructura if, puede usar declaraciones else if varias veces para determinar de manera flexible diferentes situaciones (si intenta determinar demasiadas situaciones, puede usar una "estructura de selección", que se describirá en detalle más adelante). Se han procesado las declaraciones. Y cuando no hay una situación coincidente, se ejecuta la declaración en la declaración else. Otro ejemplo:
Dim a, b, c, d
a=inputbox("a es:", "ingrese radio")
b= Inputbox ("b es:", "ingrese el radio")
d=Inputbox("respuesta:", "Ingrese la respuesta")
c=a*2 b *2 ' No hay problema aquí, se convertirá automáticamente
si d=c entonces
Msgbox("Eres inteligente")
else
Msgbox("¡Eres testarudo y no puedes hacer tus propias preguntas!")
end if
Mira esto de nuevo, no importa cuán correcta sea tu respuesta , todavía eres un cerdo testarudo, jaja, no te mentí. Fue el tipo de retorno del cuadro de entrada al principio del artículo lo que te engañó. d es el valor de retorno del cuadro de entrada, que es un. cadena, y c es el resultado del cálculo de un número entero, que es un número entero. De todos modos, las cadenas no son iguales a números enteros, aunque sean literalmente iguales: "8" <(símbolo no igual) 8, por lo que la prueba if siempre es falsa y la parte else de la declaración siempre se ejecuta.
Podemos modificarlo así
Dim a, b, c, d
a=inputbox("a is:", "enter radio")
b =Inputbox("b es:", "ingrese radio")
d=Inputbox("respuesta:", "Ingrese respuesta")
d=int (d)< / p>
'Aquí tomamos el valor de d, lo convertimos en un número entero y lo volvemos a colocar en el cuadro "d"
c=a*2 b*2
si d=c entonces
Msgbox("Eres tan inteligente."
else
Msgbox("Eres tan testarudo que no ¡No puedo hacer tus propias preguntas! ")
end if
Eso es todo. Esta es una de las cosas molestas de la función Inputbox, pero no hay otras buenas en vbs. Método de entrada.
Hablando de if, tenemos que hablar de operadores lógicos. Hoy presentaremos dos, "y" y "o". /p>
dim a, b
a=inputbox("Ingrese un número gt;10")
b=inputbox("Ingrese otro número gt; 10")
a=int(a)
b=int(b)
si agt; =int(a)
b=int(b)
if agt; 10 y bgt; 10 entonces msgbox("Error de autenticación, verifique la contraseña") p>
end if
loop
El propósito de esto es exactamente el mismo que el ejemplo anterior, pero veamos cómo realizar un while después del bucle:
dim a、ctr
ctr=0
const pass="pas123_"
do
a=inputbox("Por favor, introduzca su contraseña")
if a=pass then
msgbox("Verificación exitosa")
msgbox("(Puede agregar aquí después de tener éxito Puede agregar el mensaje recibido después del éxito aquí)")
salir de hacer
else
ctr=ctr 1 'Si la contraseña es incorrecta, aumentarla una vez Número de verificaciones de error
msgbox("Error de autenticación, verifique la contraseña")
end if
bucle while ctrlt; 3
La función es la misma, ¿por qué ponerla? ¿Después del bucle? ¿Por qué ponerlo después del bucle? Si cambia el valor de ctr a 3, encontrará que el programa do saldrá directamente después de while, y el bucle
después de while permitirá una verificación más y solo finalizará en el bucle. Lo opuesto a while es un.