Explicación del código fuente de VB, cuanto más detallada sea la explicación, mejor. Espero que seas un experto y puedas darme una explicación que pueda entender.
Este es un código fuente para generar un diccionario de contraseñas, soy un novato
Option?Explicit?' se utiliza para la declaración explícita, es decir, la variable debe definirse antes de poder usarse.
Dim?ss?As?String?' ss como tipo de cadena y la inicialización predeterminada El valor es una cadena vacía
Private?Sub?Command1_Click()?Button Command1 evento de clic
ss?=?ss?amp; ?UCase("abcdefghijklmnopqrstuvwxyz")?Función UCase El formato es mayúscula
ss?=?ss?amp;? "abcdefghijklmnopqrstuvwxyz"'amp es una función de concatenación de cadenas
ss? =?ss?amp;?"0123456789"
ss?=?ss?amp;?"~!@#$^amp;*()_ {}|:lt;gt;?[] \;',.
'¡Hasta ahora, ss="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~! @#$^amp;*()_{}|:lt;gt;?[]\;',.
Dim?passwordlen?As?Double' define la variable contraseñalen como un tipo de precisión doble , Se utiliza para establecer la longitud máxima de la contraseña
Dim?icount?As?Double?' define la variable icount como un tipo de precisión doble,
Dim?s1?As?String ?' define que la variable s1 es de tipo cadena,
Dim?i,?j?As?Double' define la variable i como tipo de variable, j como tipo de doble precisión
Dim?count ?As?Double ?'Define el recuento de variables como un tipo de precisión doble
Dim?password()?As?String?'Define la matriz dinámica contraseña() como un tipo de cadena,
Dim?tempstr?As ?String' define la variable tempstr como un tipo de cadena,
passwordlen?=?Val(Text1.Text)'convierte el tipo de carácter en el cuadro de texto Texto1 en un valor numérico y lo almacena en la variable contraseñalen
If?passwordlen?lt;?1?Then?'Cuando contraseñalen es menor que 1
MsgBox?"Por favor ingrese la longitud máxima de la contraseña ",?vbInformation,?"Herramienta de generación de diccionario"?cuadro de diálogo emergente /p>
Text1.SetFocus'Text1 obtiene el foco
¿Salir?Sub?'Salir del proceso secundario
¿Fin?Si
List1.Clear ?'Initialize, borre el cuadro de lista List1
icount?=?Len(ss)? Coloque el valor de longitud 90 del carácter Tron ss en la variable icount
For?i?=? 1?To?icount?'For bucle, el valor inicial es 1, el valor final es 90, el tamaño del paso es 1
ReDim?Preserve?password(i) 'Redefinir la contraseña de la matriz dinámica(), el límite inferior es i (el límite superior es 0), conservarla sin reemplazo
contraseña(i)? (ss,?i,?1)?Se toma cada elemento de la contraseña de la matriz
Desde el elemento en la posición i-ésima en la cadena ss
List1.AddItem?password(i) 'Mostrar todos los elementos de la matriz en el cuadro de lista Lista1
Siguiente?i
¿Para?i?=?2?A?contraseñalen?Desde 2 hasta la longitud máxima de contraseña contraseñalen
contraseña?=?zuhe(contraseña,?icount,?ss)?Llamar función zuhe
p>Siguiente?i
Fin?Sub
¿Función?pública?zuhe(temp()?As?String,?icount?As? Double,?ss?? As?String)?As?La función de definición zuhe
' tiene tres variables independientes: la matriz temp() es un tipo de cadena, icount es un tipo de precisión doble y ss es un tipo de cadena
Dim?count?As?Double?'define el recuento de variables como tipo de doble precisión
Dim?s1?As?String'define la variable s1 como tipo de cadena
Dim?i?As?Double?'define la variable i como un tipo de doble precisión
Dim?j?As?Double?'define la variable j como un tipo de doble precisión
count?=?UBound( temp)' almacena el siguiente elemento en la matriz temp()? 'Almacena el siguiente elemento de la matriz temp() en la variable count
Dim?password()?As?String'Define la matriz contraseña() como un tipo de cadena
Dim ? iindex?As?Double' define la variable iindex como un tipo de doble precisión
iindex?
Dim?tempstr?As?String' define la variable tempstr como un tipo de cadena? p>
¿Para?i?=?1?A?count
Para?j?=?1?A?icount
s1?=?Mid$(ss, La función ?j,? 1)?mid toma 1 bit de la posición j de la cadena ss y lo asigna a la variable s1
Función de retardo DoEvents para evitar la muerte del programa
ReDim?Preserve ?contraseña(iindex)?Redefinir la contraseña de la matriz dinámica()
contraseña(iindex)? =?temp(i)? amp;?s1? 'La matriz temp(i) está conectada a la cadena s1 y asignado un valor Dar contraseña de matriz()
List1.AddItem?password(iindex)?Mostrar los elementos de contraseña de matriz() en el cuadro de lista Lista1
Siguiente?j
¿Siguiente?i
zuhe?=?contraseña?'Asignar la contraseña del array a la variable zuhe como valor de la función
Fin?