Red de conocimiento informático - Problemas con los teléfonos móviles - 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

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

¿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?