Visual Basic (ci-après dénommé VB) est un langage de programmation onze puissants. Surtout après la version 4.0, la technologie OLE Automation est prise en charge, ce qui apporte une plus grande commodité à la programmation. Il y a quelque temps, j'ai essayé d'écrire une base de données Web. Mais comme il n’y a pas de connexion Internet, je ne peux pas le tester. J'ai donc pensé à OLEAutomation, qui peut être utilisé pour tester les fonctions réseau sur une seule machine. Après modification, vous pouvez également l'utiliser pour vous connecter via Modem. Ensuite, je présenterai comment utiliser Visual Basic pour écrire un petit système réseau.
----Tout d'abord, établissez un réseau de support OLEAutomation
----Démarrez VB. Créez une zone de liste List1 sous la forme Form1, créez un Frame1 au-dessus et définissez sa propriété Caption sur vide. Créez un Label1 au milieu et définissez de la même manière sa légende sur vide. Enfin, créez un Label2 avec la Caption UserList sur List1. Enfin, installez un timer Timer1, définissez son Intervalle sur 3000 et définissez Enabled sur False. À ce stade, la partie formulaire de NetWorkConnection est terminée.
----Ensuite, sélectionnez Options dans le menu Outils de VB et remplissez les différents contenus selon vos besoins.
----Ensuite, sélectionnez Module dans le menu Insertion pour créer un nouveau module Module1. Entrez le code suivant dans (Général).
(Type de données UserInfo)
TypeUserInfo
Nom d'utilisateurAsString
AliasAsInteger
Type de fin
(nombre maximum d'utilisateurs)
PublicConstMaxUser=10
(définir le message)
PublicConstMsg_User_LogOn=1
PublicConstMsg_User_LogOff=2
(Définir le type de données)
Utilisateurs publics (MaxUser) AsUserInfo
PublicInbox (MaxUser) AsString
PublicUserSystemInboxAsInteger
PublicOnline (MaxUser) AsBoolean
Sous-main()
Form1.Afficher
FinSub
----Le type de données UserInfo enregistre le nom d'utilisateur et l'alias de l'utilisateur connecté. Utilisez uniquement des alias pour l'affichage et la communication. Le nom d'utilisateur est uniquement utilisé pour déterminer si l'utilisateur est valide. Pour des raisons de sécurité, les utilisateurs ne peuvent pas accéder à volonté aux données ci-dessus et doivent être accessibles via les sous-programmes suivants.
----Sélectionnez ClassModule dans le menu Insertion pour créer une nouvelle classe Class1. Renommez-le en Common et définissez ses propriétés.
----Remplissez le code suivant.
----(Fournit la fonction d'obtenir la valeur de l'ID utilisateur. Les utilisateurs peuvent utiliser un alias pour renvoyer la valeur de l'ID via cette fonction)
PublicFunctionGetUserID(AliasAsString)AsInteger
PourI=1ToMaxUser
IfUsers(I).Alias=AliasThenGetUserID=I
SuivantJe
FinFonction
----(Fournit la fonction d'obtenir des informations sur le système. Les utilisateurs peuvent l'utiliser pour savoir si l'utilisateur a apporté des modifications)
PublicFunctionGetSystemMessage()AsInteger
GetSystemMessage=UserSystemInbox
FinFonction
----(Fournit la fonction d'obtenir des informations sur les utilisateurs. Utilisez-le pour obtenir les alias de tous les utilisateurs en ligne, séparés par "|".)
PublicFunctionGetUserInfo()AsString
PourI=1ToMaxUser
IfUsers(I).Username<>""Alors
temp=temp Utilisateurs(I).Alias "|"
FinSi
SuivantJe
GetUserInfo=temp
FinFonction
----(Fournit la fonction d'obtenir des informations privées sur l'utilisateur. Utilisé pour accepter d'autres utilisateurs
informations envoyées par l'utilisateur. )
PublicFunctionGetUserMessage(IDAsInteger)AsString
IfID<=0OrID>MaxUserThen
Fonction de sortie
FinSi
GetUserMessage=Boîte de réception (ID)
FinFonction
----(Fournit une fonction de déconnexion. Utilisé pour se déconnecter du réseau.)
PublicFunctionLogOff(IDAsInteger)AsBoolean
IfID<=0OrID>MaxUserThen
Déconnexion=Faux
Fonction de sortie
FinSi
IfUsers(ID).Username<>""Alors
Utilisateurs(ID).Nom d'utilisateur=""
Déconnexion = Vrai
Autre
Déconnexion=Faux
FinSi
UserSystemInbox=Msg_User_LogOff
`-------------Formulaire de mise à jour1------------
ForI=0ToForm1.List1.ListCount-1
IfForm1.List1.List(I)=Utilisateurs(ID).AliasThen
`Trouver les alias d'utilisateur dans List1 et supprimer
Form1.List1.RemoveItemI
QuitterPour
FinSi
SuivantJe
IfForm1.List1.ListCount=0Then`si aucun utilisateur n'est connecté
Form1.Label1.Caption="Déconnecté"
Form1.timer1.Enabled=False
FinSi
FinFonction
----(Fournit une fonction de connexion pour accéder à Internet)
PublicFunctionLogOn(UsernameAsString,
AliasAsString)AsInteger
PourI=1ToMaxUser
IfUsers(I).Username=""Alors
Utilisateurs(I).Username=Nom d'utilisateur
Utilisateurs(I).Alias=Alias
Connexion=I
UserSystemInbox=Msg_User_LogOn`Envoyer les informations de "connexion utilisateur"
`-------------Formulaire de mise à jour1------------
Form1.List1.AddItemAlias`Il y a des utilisateurs en ligne
Form1.Label1.Caption="Connecté"
Form1.timer1.Enabled=Vrai
Fonction de sortie
FinSi
SuivantJe
Connexion=0
FinFonction
----(Fournit la fonction d'actualisation de l'indicateur d'état en ligne de l'utilisateur. Cela permet au système de déterminer si vous êtes en ligne. Si cette fonction n'est pas appelée dans les 6 secondes, le système vous supprimera automatiquement.)
PublicSubRefresh (IDAsInteger)
IfID<=0OrID>MaxUserThenExitSub
En ligne(ID)=Vrai
FinSub
----(Fournit la fonction d'envoyer les informations privées des utilisateurs. Utilisé pour transférer des informations à d'autres utilisateurs.)
PublicFunctionSendUserMessage(MessageAs
Chaîne,ToIDAsInteger)AsBoolean
IfToID<=0OrToID>MaxUserThen
SendUserMessage=Faux
Fonction de sortie
FinSi
Boîte de réception (ToID) = Message
SendUserMessage=Vrai
FinFonction
----Entrez le code restant dans le code du formulaire 1.
(Initialiser Form1)
PRivateSubForm_Load()
Label1.Caption="Déconnecté"
Form1.Caption="NetWorkConnectedServer"
Form1.Afficher
PourI=1ToMaxUser
Utilisateurs(I).Nom d'utilisateur=""
SuivantJe
FinSub
----(Vérifiez si l'utilisateur est régulièrement en ligne en jugeant la valeur de Online)
PrivateSubtimer1_Timer()
PourI=1ToMaxUser
IfUsers(I).Username<>""Alors
IfOnline(I)=FauxAlors
Fors=0ToList1.ListCount-1
IfList1.List(s)=Users(I).AliasThen
Liste1.RemoveItems
Utilisateurs(I).Nom d'utilisateur=""
UserSystemInbox=Msg_User_LogOff
`Envoyer le message "Déconnexion de l'utilisateur"
FinSi
Suivants
FinSi
En ligne(I)=Faux
FinSi
SuivantJe
IfList1.ListCount=0Alors
`S'il n'y a pas d'utilisateur
Label1.Caption="Déconnecté"
timer1.Enabled=Faux
FinSi
FinSub
----Exécutez ce programme. Démarrez un autre VB et commencez à écrire la partie utilisateur. Disposez ces contrôles comme indiqué ci-dessous dans le formulaire par défaut.
----Remplissez le code suivant
PublicIDAsInteger
PublicConnectéAsObject
PrivateSubCommand1_Click()`Connexion
DimusernameAsString
DimaliasAsString
SetConnected=Créer un objet
("NetWorkConnection.Common")Démarrez NetWorkConnection
nom d'utilisateur = Texte1.Texte
alias=Texte2.Texte
ID=Connected.logon(username,alias)`Connectez-vous et renvoyez la valeur de l'ID
Timer1.Enabled=Vrai
Command4_Clic
FinSub
PrivateSubCommand2_Click()`Déconnexion
x = Connecté.logoff (ID)
Timer1.Enabled=Faux
Setx=Rien`libérer l'objet
FinSub
PrivateSubCommand3_Click()`Envoyer les informations utilisateur
DimTempIDAsInteger
DimTempStringAsString
DimxAsString
DimyAsBoolean
x=Combo1.Texte
TempID=Connected.getuserid(x)`Obtenir la valeur d'ID de l'utilisateur spécifié
TempString=Texte3.Texte
y=Connecté.sendusermessage(TempString,TempID)
FinSub
PrivateSubCommand4_Click()
ForI=0ToCombo1.ListCount1`Effacer Combo1
Combo1.RemoveItem0
SuivantJe
x=Connected.GetUserInfo`Recevoir les informations utilisateur
cd$=x
dernier = 1
PourI=1ToLen(cd$)
IfMid$(cd$,I,1)="|"Alors
Namef$=Mid$(cd$,lastst,I-lastst)
Combo1.AddItemNamef$` détache l'alias de l'utilisateur et l'ajoute à Combo1
dernier = I 1
FinSi
SuivantJe
FinSub
PrivateSubForm_Load()
Timer1.Enabled=Faux
Minuterie1.Intervalle=300
FinSub
PrivateSubTimer1_Timer()
Connected.Refresh(ID)`Actualiser le logo de l'utilisateur
x=Connected.GetSystemMessage()`Recevoir les informations système
y=Connected.GetUserMessage(ID)`Recevoir les informations utilisateur
Ify<>""Andy<>Label6.CaptionThenLabel6.Caption=y
Ifx<>Val(Label4.Caption)Then`Refresh Combo1
Étiquette4.Caption=x
Command4_Clic
FinSi
FinSub
----Commencez à courir. Entrez votre nom d'utilisateur et votre alias, cliquez sur Connexion et vérifiez l'exemple VB précédent pour voir si votre nom est inclus. Si tel est le cas, cela prouve que votre « hub » est réussi. À ce stade, quelle que soit la raison pour laquelle les utilisateurs connectés se déconnectent sans utiliser LogOff, le système supprimera automatiquement ces utilisateurs après 6 secondes. Assurez-vous que les autres utilisateurs ne sont pas affectés.
----Ce programme a été modifié pour prendre en charge les fonctions du modem. La partie utilisateur du programme peut rester intacte. Lors de la compilation, sélectionnez RemoteSupportFile dans Options et utilisez le programme d'installation inclus pour l'installer sur le serveur réseau afin de véritablement réaliser une « mise en réseau ». ->