Red de conocimiento informático - Aprendizaje de código fuente - Registro e inicio de sesión en la red en un lenguaje sencillo

Registro e inicio de sesión en la red en un lenguaje sencillo

Simplemente dale la mano tres veces.

¡Primero que nada, publicaré los puntos y escribiré uno para ti!

El código que acabo de escribir no es perfecto.

.Versión 2

.Assembly Window Assembly 1

.Sub Routine __Start_Window_Created

Determinar el inicio (si el archivo existe (tomar el directorio de ejecución () + "\data.edb") = false)

Escribir en el archivo (tomar el directorio de ejecución ( ) + ". \data.edb", # Base de datos inicial)

.Valor predeterminado

.Fin del juicio

Abrir (tomar directorio de ejecución () + "\data.edb ", , , , , )

. Haga clic en el botón_subrutina 1_

. Se inicia el juicio (client1.connect ("127.0.0.1", 19730) = true)

.Se inicia el juicio (cuadro de edición del usuario. Contenido ≠"")

.Se inicia el juicio (contraseña Cuadro de edición Contenido ≠"")

Cliente 1. Enviar datos ("Iniciar sesión|&|!!!" + Cuadro de edición de usuario. Contenido + "|&|!!!" + Cuadro de edición de contraseña. + Cuadro de edición de contraseña Contenido)

.Predeterminado

. Fin de la sentencia

. Incumplimiento

. Termina el juicio

. Predeterminado

. Fin del juicio

. Subrutina _Server1_Data Arrival

La variable local devuelve texto, tipo de texto

Código de operación de variable local, tipo de texto

Devolver texto = a texto (servidor1. Obtener datos ())

Código de operación = Obtener texto a la izquierda (devolver texto, 9)

Se inicia el juicio (código de operación = '. Iniciar sesión|&|!|!) ' A partir de aquí se determina si la operación es de inicio de sesión o registro. ¡Esto se considera como inicio de sesión!

InfoBox (devuelve texto, 0,)

Iniciar sesión (devuelve texto)

.Default

. Finaliza la sentencia

Comienza la sentencia (código de operación = 'Registro|&|!!!) ' Aquí están las condiciones de sentencia para la operación de registro

Registro (texto de retorno)

.Predeterminado

.Fin del juicio

.Registro de subrutina

.Paquete de datos de parámetros, tipo de texto

.Local matriz de variables Variable, tipo de texto, "0"

La variable local registra el nombre de usuario, el tipo de texto

. La variable local registra la contraseña, el tipo de texto

.

Correo electrónico de registro de variable local, tipo de texto

Número de bucle de variable local, número entero

La variable local se puede registrar, tipo lógico

. Tipo de texto

.Contraseña de variable local, tipo de texto

.Buzón de variable local, tipo de texto

Se puede registrar = Falso

Bucle count = Obtener registros ()

Variable de matriz = Texto dividido (paquete, "|&|!!!" , )

Nombre de usuario registrado = variable de matriz [2]

Contraseña de registro = variable de matriz [3]

Correo electrónico de registro = variable de matriz [4]

Al primer registro ()

Se inicia el ciclo de conteo. (Número de ciclo,)

Nombre de usuario = leer("Usuario")

Contraseña = leer("contraseña")

Buzón = leer(" Correo electrónico")

. Comienza el juicio (nombre de usuario + contraseña + correo electrónico ≠ nombre de usuario registrado + contraseña registrada + correo electrónico registrado)

Puede registrarse = verdadero

Salir del bucle ()

Predeterminado

Saltar ()

.Fin del juicio

.Fin del ciclo de conteo ()

.Iniciar juicio (puede registrarse) = true )

Agregar registro vacío ()

Escribir ("usuario", nombre de usuario registrado)

Escribir ("contraseña", contraseña registrada)

p>

Escribir ("email", contraseña de registro)

Escribir ("email", contraseña de registro)

."Email", correo electrónico de registro)

Servidor 1. Enviar datos (Servidor 1. Obtener Cliente (), "¡Registro exitoso!")

Predeterminado

. Finaliza el juicio

Comienza el juicio (puede registrarse = falso)

Servidor 1. Enviar datos (Servidor 1. Obtener cliente (), "¡Entendido!")

., )

.Predeterminado

.Fin del juicio

.Inicio de sesión de subrutina, verificar inicio de sesión

.Parámetros a ser awaited Procesando datos, tipo de texto

. Usuario de inicio de sesión de variable local, tipo de texto

Variable local Contraseña de usuario (contraseña de usuario), tipo de texto

. matriz, texto, "0"

bucle de variable local, tipo entero

. Variable local usuario_base de datos, tipo de texto

. Variable local contraseña_base de datos, tipo de texto

. Número de registro de variable local, entero

. Número de lecturas de variables locales, entero

. Etiqueta de autenticación de variable local, tipo lógico

. Variable local autenticación_mailbox, tipo de texto

.

Variable local Database_mailbox, tipo de texto

Número de registros = Número de registros recuperados ()

Etiqueta de validación = false

Matriz = Texto dividido (datos pendientes, " | &|!!!" , )

Usuario de inicio de sesión = matriz [2]

Contraseña de usuario = matriz [3]

Al primer registro ()< / p>

.Cuenta la primera vez en el bucle (número de registros, en unidades de lecturas)

Base de datos_Usuario = Leer ("Usuario")

Database_Password = Leer ( "Contraseña ")

Database_Mailbox = Leer ("Mailbox")

.Se inicia el juicio (Database_User + Database_Password = iniciar sesión usuario + contraseña de usuario)

Etiqueta de verificación = Verdadero

Saltar fuera del bucle ()

.Predeterminado

Saltar ()

.Juzgar fin

.Count loop End()

Se inicia el juicio (indicador de verificación = verdadero)

Servidor 1. Enviar datos (Servidor 1. Obtener cliente (), "¡Inicio de sesión exitoso!",)

.Default

Servidor 1. Enviar datos (Servidor 1. Obtener Cliente (), "¡Error al iniciar sesión!",)

.)

.Sentencia finalizada

. Subrutina _client1_data_arrived,, información de inicio de sesión de comentarios

. Se inicia el juicio (al texto (cliente1.fetch_data ()) = "¡Inicio de sesión exitoso!").

Cuadro de mensaje ("Mensaje del servidor: ¡Inicio de sesión exitoso!", 0, )

Predeterminado

. El juicio finaliza

. El juicio comienza (a text(client1.GetData())="¡Error de inicio de sesión!").

Cuadro de mensaje ("Mensaje del servidor: ¡Error de inicio de sesión!", 0, )

Predeterminado

. Fin del juicio

' ======================================== = ====== Lo anterior es la operación de inicio de sesión y lo siguiente es el registro =========================

. Comienza el juicio (al texto (cliente1.fetch data ()) = "¡Entendido!")

Cuadro de mensaje ("Mensaje del servidor: ¡El usuario que desea registrar ya existe!", 0, )

.Predeterminado

. El juicio finaliza

El juicio comienza (al texto (cliente1.fetch data ()) = "¡Registro exitoso!")

Cuadro de mensaje ("Mensaje del servidor: ¡Registro exitoso!", 0, )

.Predeterminado

. Se acabó el juicio

. Subrutina _Button2_clicked, , , el cliente 1 realiza operaciones de datos

. Variable local Paquete de registro, tipo texto, esta es la variable completa para enviar información de registro

. Variable local Etiqueta dividida, texto, texto especial utilizado para separar múltiples atributos de datos (usuario, contraseña, correo electrónico) para garantizar la diferenciación del servidor

. Usuario de variable local, tipo de texto

. Contraseña variable local, tipo texto

.

Buzón de variable local, tipo de texto

Marca de separación = "|&|!!!"

.

Se inicia el juicio (cuadro de edición 3.contenido≠). ")

Usuario = cuadro de edición 3.content

.Se inicia el juicio (Cuadro de edición 4.contenido ≠"")

.Se inicia el juicio (Cuadro de edición 5 .Contenido≠"")

.Se inicia el juicio (Cuadro de edición 6.Contenido≠"")

Correo electrónico = Cuadro de edición 6.Contenido

.Se inicia el juicio (Cuadro de edición 4.content = cuadro de edición 5.content)

Contraseña = cuadro de edición 4.content

.Predeterminado

.Sentencia finalizada

.Por defecto

.Fin del juicio

.Por defecto

. Fin de sentencia

.Defecto

.Fin de sentencia

.Rechazo

. Fin del juicio

Paquete de registro = "Registro|&||!|!"+ usuario+marca de segmento+contraseña+marca de segmento+correo electrónico

Cliente 1.conectar (" 127.0. 0.1", 19730)

Cliente 1.enviar datos (paquete de registro)

Dirección de descarga

/cgi-bin/ftnExs _download?k= 5c36643910fbcecdc2d585291036031d54575d585403520249070 352495b5702501f075554010557060701035c5a363531034a536404&t = exs _ftn_download&code=d6d96612