opción explícita
Error volver siguiente
' declarar variables
Dim wshshell, título, miCadena, longitud, posición, tmp, loopA, loopB, linesToWrite, columnas, objUser, objSysInfo, minombre, myNameLength, col1, col2, col3, col4, col5, máximo, elementos
Set wshshell = wscript.createobject("wscript.shell")
title = "la matriz"
WshShell. SendKeys "{ALT}" + "{ENTER}"
' obtener información de usuario, utilizado para obtener el nombre
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject ("LDAP: / /" & objSysInfo.UserName)
' ---------------------------
Sub waitfor(var)
' configurar ventana, establecer título, espere a que termine
tmp = false
hasta tmp
Wscript.Sleep 1000
tmp = wshshell.appactivate(var)
lazo
sub final
' ---------------------------
Sub matrix(elements)
' imprimir números aleatorios para hacer "la matriz" ver
' asume que es divisible por 5 elementos
columnas = 5
col1 = true
col2 = true
COL3 = true
Col4 = true
col5 = true
RANDOMIZE()
linesToWrite = elementos / columnas
para loopA = 1 a linesToWrite
para loopB = 1 para columnas
Seleccione caso loopB
Caso 1
Si col1 = true entonces wshshell. Wshshell SendKeys Int(Round(rnd())) & Else "{TAB}". SendKeys "{TAB}"
Caso 2
Si col2 = true entonces wshshell. Wshshell SendKeys Int(Round(rnd())) & Else "{TAB}". SendKeys "{TAB}"
Caso 3
Si col3 = true entonces wshshell. Wshshell SendKeys Int(Round(rnd())) & Else "{TAB}". SendKeys "{TAB}"
Caso 4
Si col4 = true entonces wshshell. Wshshell SendKeys Int(Round(rnd())) & Else "{TAB}". SendKeys "{TAB}"
Caso 5
Si col5 = true entonces wshshell. Wshshell SendKeys Int(Round(rnd())) & Else "{TAB}". SendKeys "{TAB}"
Final seleccione
Wscript.Sleep 5
siguiente
Wscript. Eco
' Este flip-flop columnas para mostrar el 20% de los casos, independientemente uno del otro.
máximo = 0.20
Si rnd() < máxima entonces
Si col1 = true entonces col1 = false Else col1 = true
End If
Si rnd() < máxima entonces
Si col2 = true entonces col2 = false Else col2 = true
End If
Si rnd() < máxima entonces
Si col3 = true entonces col3 = false Else col3 = true
End If
Si rnd() < máxima entonces
Si col4 = true entonces col4 = false Else col4 = true
End If
Si rnd() < máxima entonces
Si col5 = true entonces col5 = false Else col5 = true
End If
siguiente
Wscript. Eco
Wscript. Eco
sub final
' ---------------------------
Sub key(msg)
' hacer impresiones de los mensajes de "la matriz" y los borre
Wscript.Sleep 1500
longitud = len(msg)
posición = 1 to longitud
WshShell. SendKeys mediados (msg, posicion, 1)
Wscript.Sleep 250
siguiente
Wscript.Sleep 3000
posición = 1 to longitud
WshShell. SendKeys "{borrar}"
Wscript.Sleep 75
siguiente
sub final
' ---------------------------
' iniciar la ejecución de "principal" aquí
WAITFOR(title)
Para loopA = 1 a 4
Seleccione caso loopA
Caso 1
MiCadena = "despierta, Neo..."
Caso 2
MiCadena = "el matrix te tiene..."
Caso 3
MiCadena = "Sigue al conejo blanco..."
Caso 4
MiCadena = "Knock knock..."
Final seleccione
' ahora imprima la cadena correcta
Key(myString)
siguiente
'_ _ _ _ _ _ _ _ _ _
Wscript.Quit()