Visual Basic (en lo sucesivo, VB) es un lenguaje de programación once potentes. Especialmente después de 4.0, se admite la tecnología OLE Automation, lo que aporta una mayor comodidad a la programación. Hace algún tiempo, intenté escribir una base de datos habilitada para la web. Pero como no hay conexión a Internet, no puedo probarlo. Entonces pensé en OLEAutomation, que puede usarse para probar funciones de red en una máquina. Después de la modificación, también puedes usarlo para conectarte a través del módem. A continuación, presentaré cómo usar Visual Basic para escribir un sistema de red pequeño.
---- Primero, establezca una red de soporte OLEAutomation
----Inicie VB. Cree un cuadro de lista Lista1 en el formulario Formulario1, cree un Marco1 encima y establezca su propiedad Título en vacío. Cree una Etiqueta1 en el medio y, de manera similar, establezca su Título en vacío. Finalmente, cree una Etiqueta2 con el título Lista de usuarios en Lista1. Finalmente, instale un temporizador Timer1, establezca su Intervalo en 3000 y establezca Habilitado en Falso. En este punto, el formulario que forma parte de NetWorkConnection está completo.
----Luego, seleccione Opciones en el menú Herramientas de VB y complete los distintos contenidos según sea necesario.
----A continuación, seleccione Módulo en el menú Insertar para crear un nuevo módulo Módulo1. Ingrese el siguiente código en (General).
(tipo de datos de información de usuario)
Escriba información de usuario
Nombre de usuarioAsString
Alias como entero
Tipo final
(número máximo de usuarios)
PúblicoConstMaxUser=10
(definir mensaje)
PublicConstMsg_User_LogOn=1
PublicConstMsg_User_LogOff=2
(Establecer tipo de datos)
Usuarios públicos(MaxUser)AsUserInfo
Bandeja de entrada pública (MaxUser) como cadena
PublicUserSystemInboxAsInteger
Público en línea (MaxUser) como booleano
Subprincipal()
Formulario1.Mostrar
FinSub
----El tipo de datos UserInfo registra el nombre de usuario y el alias del usuario que inició sesión. Utilice únicamente alias para visualización y comunicación. El nombre de usuario solo se utiliza para determinar si el usuario es válido. Por razones de seguridad, los usuarios no pueden acceder a los datos anteriores a voluntad y deben acceder a través de las siguientes subrutinas.
----Seleccione ClassModule en el menú Insertar para crear una nueva clase Class1. Cambie el nombre a Común y establezca sus propiedades.
----Rellene el siguiente código.
----(Proporciona la función de obtener el valor de ID del usuario. Los usuarios pueden usar un alias para devolver el valor de ID a través de esta función)
PublicFunctionGetUserID(AliasAsString)AsInteger
ParaI=1ToMaxUser
IfUsers(I).Alias=AliasThenGetUserID=I
siguienteyo
Función final
----(Proporciona la función de obtener información del sistema. Los usuarios pueden usarlo para saber si el usuario ha realizado algún cambio)
PublicFunctionGetSystemMessage()AsInteger
GetSystemMessage=UsuarioSystemInbox
Función final
----(Proporciona la función de obtener información del usuario. Úselo para obtener los alias de todos los usuarios en línea, separados por "|".)
PublicFunctionGetUserInfo()AsString
ParaI=1ToMaxUser
IfUsers(I).Nombre de usuario<>""Entonces
temp=usuarios temporales(I).Alias "|"
Fin si
siguienteyo
GetUserInfo=temperatura
Función final
----(Proporciona la función de obtener información privada de los usuarios. Se utiliza para aceptar a otros usuarios
información enviada por el usuario. )
PublicFunctionGetUserMessage(IDAsInteger)AsString
SiID<=0OrID>MaxUserEntonces
Función de salida
Fin si
GetUserMessage=Bandeja de entrada(ID)
Función final
----(Proporciona función de cierre de sesión. Se utiliza para cerrar sesión en la red).
PublicFunctionLogOff(IDAsInteger)AsBoolean
SiID<=0OrID>MaxUserEntonces
Cerrar sesión=Falso
Función de salida
Fin si
IfUsers(ID).Nombre de usuario<>""Entonces
Usuarios(ID).Nombre de usuario=""
Cerrar sesión=Verdadero
Demás
Cerrar sesión=Falso
Fin si
UserSystemInbox=Msg_User_LogOff
`--------------ActualizarFormulario1------------
ParaI=0ToForm1.List1.ListCount-1
IfForm1.List1.List(I)=Usuarios(ID).AliasThen
`Buscar alias de usuario en Lista1 y eliminar
Formulario1.Lista1.RemoveItemI
Salir para
Fin si
siguienteyo
IfForm1.List1.ListCount=0Entonces`si ningún usuario ha iniciado sesión
Form1.Label1.Caption="Desconectado"
Form1.timer1.Enabled=Falso
Fin si
Función final
----(Proporciona función de inicio de sesión para acceder a Internet)
PublicFunctionLogOn (nombre de usuario como cadena,
AliasAsString)AsInteger
ParaI=1ToMaxUser
IfUsers(I).Username=""Entonces
Usuarios(I).Nombre de usuario=Nombre de usuario
Usuarios(I).Alias=Alias
Iniciar sesión=Yo
UserSystemInbox=Msg_User_LogOn`Enviar información de "inicio de sesión de usuario"
`--------------ActualizarFormulario1------------
Form1.List1.AddItemAlias`Hay usuarios en línea
Form1.Label1.Caption="Conectado"
Form1.timer1.Enabled=Verdadero
Función de salida
Fin si
siguienteyo
Iniciar sesión=0
Función final
----(Proporciona la función de actualizar el indicador de estado en línea del usuario. Esto permite que el sistema determine si está en línea. Si no se llama a esta función dentro de los 6 segundos, el sistema lo eliminará automáticamente).
PublicSubRefresh(IDAsInteger)
IfID<=0OrID>MaxUserThenExitSub
En línea (ID) = Verdadero
FinSub
----(Proporciona la función de enviar información privada de los usuarios. Se utiliza para transferir información a otros usuarios).
PublicFunctionSendUserMessage (Mensaje como
Cadena,ToIDAsInteger)AsBoolean
IfToID<=0OrToID>MaxUserThen
EnviarUserMessage=Falso
Función de salida
Fin si
Bandeja de entrada(ToID)=Mensaje
EnviarUserMessage=Verdadero
Función final
----Ingrese el código restante en el Código de Form1.
(Inicializar formulario1)
PRivateSubForm_Load()
Label1.Caption="Desconectado"
Form1.Caption="Servidor conectado de red"
Formulario1.Mostrar
ParaI=1ToMaxUser
Usuarios(I).Nombre de usuario=""
siguienteyo
FinSub
----(Compruebe si el usuario está en línea regularmente juzgando el valor de En línea)
PrivadoSubtimer1_Timer()
ParaI=1ToMaxUser
IfUsers(I).Nombre de usuario<>""Entonces
Si en línea (I) = Falso Entonces
Fors=0ToList1.ListCount-1
IfList1.List(s)=Usuarios(I).AliasThen
Lista1.RemoveItems
Usuarios(I).Nombre de usuario=""
UserSystemInbox=Msg_User_LogOff
`Enviar mensaje de "cierre de sesión de usuario"
Fin si
Siguientes
Fin si
En línea(I)=Falso
Fin si
siguienteyo
IfList1.ListCount=0Entonces
`Si no hay ningún usuario
Label1.Caption="Desconectado"
timer1.Enabled=Falso
Fin si
FinSub
----Ejecute este programa. Inicie otro VB y comience a escribir la parte del usuario. Organice estos controles como se muestra a continuación en el formulario predeterminado.
----Completa el siguiente código
PublicIDAsEntero
PúblicoConectadoComoObjeto
PrivateSubCommand1_Click()`Iniciar sesión
DimusernameAsString
DimaliasAsString
SetConnected=CrearObjeto
("NetWorkConnection.Common")Iniciar NetWorkConnection
nombre de usuario = Texto1.Texto
alias=Texto2.Texto
ID=Connected.logon(nombre de usuario,alias)`Inicie sesión y devuelva el valor de ID
Temporizador1.Enabled=Verdadero
Comando4_Clic
FinSub
PrivateSubCommand2_Click()`Cerrar sesión
x=Conectado.cerrar sesión(ID)
Temporizador1.Enabled=Falso
Setx=Nada`liberar el objeto
FinSub
PrivateSubCommand3_Click()`Enviar información del usuario
DimTempIDAsInteger
DimTempStringAsString
DimxAsString
DimyAsBooleano
x=Combo1.Texto
TempID=Connected.getuserid(x)`Obtiene el valor de ID del usuario especificado
TempString=Texto3.Texto
y=Conectado.sendusermessage(TempString,TempID)
FinSub
PrivadoSubCommand4_Click()
ForI=0ToCombo1.ListCount1`Borrar Combo1
Combo1.RemoveItem0
siguienteyo
x=Connected.GetUserInfo`Recibir información del usuario
cd$=x
último=1
ParaI=1ToLen(cd$)
IfMid$(cd$,I,1)="|"Entonces
Nombref$=Medio$(cd$,último,yo-último)
Combo1.AddItemNamef$` separa el alias de usuario y agrégalo a Combo1
último=yo 1
Fin si
siguienteyo
FinSub
PrivadoSubForm_Load()
Temporizador1.Enabled=Falso
Temporizador1.Intervalo=300
FinSub
PrivadoSubTimer1_Timer()
Connected.Refresh(ID)`Actualizar logotipo de usuario
x=Connected.GetSystemMessage()`Recibir información del sistema
y=Connected.GetUserMessage(ID)`Recibir información del usuario
Si<>""Andy<>Label6.CaptionThenLabel6.Caption=y
Ifx<>Val(Label4.Caption)Entonces`Actualizar Combo1
Etiqueta4.Caption=x
Comando4_Clic
Fin si
FinSub
----Empiece a correr. Ingrese su nombre de usuario y alias, haga clic en Iniciar sesión y consulte el ejemplo de VB anterior para ver si su nombre está incluido. Si es así, demuestra que su "centro" tiene éxito. En este momento, no importa cuál sea el motivo por el cual los usuarios que iniciaron sesión se desconectan sin usar LogOff, el sistema eliminará automáticamente a estos usuarios después de 6 segundos. Asegúrese de que otros usuarios no se vean afectados.
----Este programa ha sido modificado para admitir funciones de módem. La parte del usuario del programa puede permanecer intacta. Al compilar, seleccione RemoteSupportFile en Opciones y use el programa de instalación incluido para instalarlo en el servidor de red para lograr realmente "conexión en red". ->