L'utilisation de la nouvelle technologie WebClass de VB6 facilite la création d'applications Internet flexibles et puissantes. Plus tôt cette année, nous vous avons montré comment écrire une application d'enregistrement qui permet aux utilisateurs de visiter votre page et de s'inscrire à un produit logiciel. Classe d'enregistrement des utilisateurs », VBPJ avril 1998 et « Ajouter un enregistrement par courrier électronique à votre serveur », VBPJ mai 1998]. Après l'enregistrement, l'application enverra une séquence à l'utilisateur via un numéro de courrier électronique et une connexion au Web existe. pour continuer le processus d'enregistrement. L'application VB5 que je vous ai montrée précédemment a créé une DLL ActiveX qui s'exécute sur le serveur Web et une DLL qui détermine le statut de l'utilisateur et appelle la DLL de manière appropriée (fournit maintenant la page Active Server). un nouveau moyen pour écrire ce type d'application, utilisant une nouvelle technologie - WebClass.
En bref, WebClass est un ActiveX exécuté sur la DLL du serveur Web. Il permet au lien hypertexte de la page HTML sur le navigateur du client d'activer des événements dans la DLL du serveur. Le mode de programmation de WebClass est similaire au mode VB traditionnel - la différence est que dans VB, le formulaire contient des contrôles, tandis que l'application WebClass. Le programme est une page Web qui contient des contrôles. Côté serveur, pour les développeurs, il connaît le mode de programmation. Modèle d'événement VB complet, afin qu'un développement Web hautement interactif puisse être effectué. Dans cette colonne, nous verrons comment créer une application WebClass simple pour vous montrer à quel point cela est simple.
Pour créer une application WebClass simple, vous devez démarrer VB6 et sélectionner. l'application IIS dans la boîte de dialogue Nouveau projet. Nommez le projet SimpleReg dans la fenêtre Propriétés. Double-cliquez sur le projet WebClass Designer dans le navigateur (vous pouvez voir la fenêtre Propriétés et le navigateur de projet via le menu Affichage. , nommez la WebClass wcSimple et entrez SimpleReg dans la propriété NameURL. Celle-ci sera créée lors de la compilation de la DLL ActiveX. Un fichier de démarrage nommé SimpleReg.asp. Enregistrez ensuite le projet.
Une application WebClass affiche le HTML dans le navigateur de l'utilisateur à l'aide d'un modèle HTML. Étant donné que VB6 n'inclut pas d'éditeur HTML, vous devez créer un modèle HTML en dehors de VB6 (le concepteur DHTML de VB6 n'a rien à voir avec WebClass). n'importe quel éditeur HTML, mais comme Visual Studio inclut Visual InterDev (VID) 6.0, VID est un choix raisonnable.
Définissez Visual Studio comme éditeur HTML par défaut pour Visual Basic dans le menu Outils|Options de VB6. Dans l'étiquette Avancé, remplissez le champ. chemin Visual InterDev suivant - C:Promram FilesMicrosoft Visual StudioCommonIDE|IDE98Devenv.exe dans la zone d'édition HTML externe. Vous demanderez à Visual InterDev de créer un fichier modèle pour votre projet. Par exemple : si votre modèle. s'appelle WebPage.htm, alors InterDev crée une copie nommée Web1Page.htm. Si vous utilisez le Bloc-notes ou d'autres éditeurs pour créer votre modèle, veuillez en tenir compte.
Dans le code de routine, le fichier SimpleReg.htm est un modèle créé par Visual. InterDev. Dans le volet gauche du concepteur WebClass, sélectionnez le dossier HTML Template WebItem. Vous pouvez ajouter le modèle SimpleReg au projet comme suit : cliquez sur le bouton AddHTML Template WebItem et cliquez sur Sélectionner le fichier SimpleReg.htm dans la boîte de dialogue de sélection de fichier. (voir Figure 1). Nommez le nouveau WebItem tplSimple. Double-cliquez sur tplSimple pour afficher le code sur WebClass et remplacez le code généré d'origine par le code suivant pour afficher le modèle lors du chargement de WebClass :
Private Sub WebClass_Start(. )
'Afficher le modèle HTML principal www.downcodes.com
Session("Titre") = "Entrez vos" et "Informations d'inscription"
tplSimple.WriteTemplate
End Sub
WebClass_Start est similaire au processus Form_Load d'une application VB traditionnelle. Exécutez le programme et regardez la page HTML affichée par votre navigateur et terminez l'application VB (il s'agit d'un arrêt normal pendant le débogage et le développement. Méthode WebClass).
Dans le concepteur WebClass, cliquez avec le bouton droit sur le tplSimple WebItem et sélectionnez Modifier le modèle HTML dans le menu contextuel. Vous verrez la page du modèle dans votre éditeur HTML par défaut. En lisant le code source, vous pouvez voir Ceci est un simple. page composée de trois parties spéciales appelées balises, au format suivant :
< WC@TAGTITLE>Titre</WC@TAGTITLE >
La partie texte de ces balises ("Titre") est modifiée par vos soins lors de l'exécution Le code ajouté à WebClass est remplacé . Lorsque la méthode WriteTemplate est exécutée, elle appelle une procédure spéciale appelée ProcessTag une fois pour chaque balise trouvée dans le modèle HTML. De retour dans VB, double-cliquez sur tplSimple WebItem pour afficher la fenêtre de code. Sélectionnez le processus tpSimple_ProcessTag dans le fichier. zone de liste déroulante supérieure et ajoutez le code suivant :
Dim sHTM As String
Sélectionnez le nom de la balise du cas
Cas " WC@TAGTITLE "
TagContents =Session("Titre")
Cas " WC@TAGMAIL "
sHTM = "Entrez l'adresse e-mail :<br>"
sHTM = sHTM & "<type d'entrée= 'texte'"
sHTM = sHTM & " nom = 'Email'><br>"
Contenu de la balise = sHTM
Cas " WC@TAGNAME "
sHTM = "Nom :<br>"
sHTM = sHTM & "<type d'entrée= 'texte'"
sHTM = sHTM & " nom = 'Nom'><br>"
Contenu de la balise = sHTM
End Select
renvoie le code HTML dans le paramètre TagContent pour remplacer la balise. Définissez un point d'arrêt dans tplSimple. Ajoutez WriteTemple à la procédure WebClass_Start et exécutez votre application. Au point d'arrêt, utilisez F8 pour parcourir le projet et voir l'ordre des événements. Vous verrez que la procédure ProcessTag est appelée trois fois - une fois pour chaque balise du modèle. Ce qui est vraiment cool, c'est qu'au moment de l'exécution, la procédure utilisera du HTML qui générera une zone de texte dans le navigateur. Le code remplace l'e-mail et. Balises de nom.
Être capable de déboguer de manière interactive votre code d'événement côté serveur est l'une des fonctionnalités très puissantes du développement d'applications WebClass avec VB. Dans le développement Web VB5, VBScript dans les scripts ASP nécessite beaucoup de travail. de manière interactive dans les scripts ASP - le seul moyen possible est malheureusement d'erreur et de réessayer. Cependant, dans VB6, tout le code côté serveur s'exécute dans WebClass et vous pouvez utiliser l'excellent environnement de conception de VB pour le débogage interactif.
La prochaineétape
de cette application simple. consiste à ajouter du code de gestion des événements pour le bouton Inscrivez-moi sur le formulaire. Revenez au concepteur WebClass de VB et cliquez sur tplSimple WebItem Dans le volet de droite, vous verrez une liste de membres HTML dans la page et vous pourrez leur associer des événements. . Cliquez avec le bouton droit sur la balise Form1 et sélectionnez l'élément de menu Se connecter à un événement personnalisé, et notez qu'à côté du nom de l'événement Form1 dans la colonne Cible, jetez un coup d'œil rapide au modèle HTML (cliquez avec le bouton droit sur tplSimple et sélectionnez Modifier le modèle HTML). . Recherchez les membres du formulaire. Ils ressemblent maintenant à ceci :
<FORM method = 'post' action = SimpleReg.ASP?
&WCE=RegisterMe&WCU>
SimpleReg.asp est un script de démarrage ActiveXDLL spécial. La valeur après le point d'interrogation indique que WebClass Item (WCI) est tplSimple, WebClass Event (WCE) est RegisterMe et WebClass URLData (WCU) est vide. . Lorsque l'utilisateur clique sur le bouton Register Me dans le navigateur, cette ligne activera le bouton tplSimple_RegisterMe dans la DLL du serveur ActiveX. De cette manière, l'activité du formulaire est liée à l'événement côté serveur, mais vous pouvez définir un lien hypertexte. dans le navigateur pour activer les événements sur le serveur. Les WebClasses fonctionnent comme par magie pour le développement d'applications Web : elles étendent la programmation basée sur les événements de VB aux applications basées sur un navigateur.
Double-cliquez sur l'événement RegisterMe dans le volet gauche de VB Designer pour afficher le code. fenêtre Ajoutez le code suivant à l'événement :
If Len(Request.Form("Email")) = 0 Then.
Session("Titile") = "S'il vous plaît" & "Entrez une adresse email !"
Session("E-mail") = ""
Session("Nom") = ""
Autre
Session("Titre") = "Voici" & "votre entrée !"
Session("E-mail") = Demande.Form("E-mail")
Session("Nom") = Reuquest.Form("Nom")
Fin si
TplSimple.WriteTemplate
Request.Form est un moyen standard de renvoyer des données à partir d'une page de navigateur. Il définit certaines variables de session et réaffiche la même page HTML. Définissez un point d'arrêt au niveau de l'instruction If et exécutez le projet. Entrez une adresse e-mail et un nom. le bouton Inscrivez-moi. Vous verrez que le titre a été actualisé, mais la zone de texte est vide. C'est parce que vous n'avez pas saisi les valeurs correspondantes lors de l'écriture du modèle.
processus (Téléchargez le listing 1 à partir de DevX ; voir la zone Téléchargerle
code gratuit pour plus de détails). Attribuez une valeur à la zone de texte en fonction de la variable Session et voyez ce qui se passe.
Utilisez ADO pour l'accès aux données
.pour stocker et stocker la somme de la base de données. Méthode pour obtenir des enregistrements. Pour plus de simplicité, nous utilisons Microsoft Acess 97 comme base de données. Créez une nouvelle base de données avec Acess dans votre répertoire source et nommez-la Register.mdb. , respectivement Email et Nom, et enregistrez-les sur le disque lorsque Acess vous invite à créer un champ d'index unique et placez une copie de Register.mdb dans le répertoire racine de votre lecteur C.
Dans le projet, ajoutez un Microsoft ActiveX. Références de la bibliothèque d'objets de données, vous pouvez les trouver sous Projet|Référence.... Vous pouvez utiliser la bibliothèque ADO version 1.5 ou 2.0. Si la bibliothèque ADO n'est pas installée, vous pouvez la télécharger depuis le site de Microsoft : http:/. /www.microsoft.com/data Téléchargez le kit d'outils d'installation MDAC2.0 à partir de /ado Modifiez le code dans le processus tplSimple.RegisterMe (Téléchargez le listing 2 à partir de DevX ; consultez la zone Télécharger le code gratuit pour plus de détails)
. dans le formulaire dans la variable Session., puis ouvrez le jeu d'enregistrements ADO et recherchez l'adresse e-mail (Télécharger le listing 3 depuis DevX).
S'il est trouvé, le code renverra l'enregistrement. S'il n'est pas trouvé, il ajoutera un nouvel enregistrement. la fonction définit la chaîne de connexion :
private Function Connect() As String
'Renvoyer une chaîne de connexion ADO
Const kDB = "DBQ=c:register.mdb;"
Const kDrv = "Drive={Microsoft" & "Acess Driver (*.mdb)}"
Connecter = kDB & kDrv
End Function
Définissez un point d'arrêt dans tplSimple_RegisterMe, exécutez le programme et voyez comment fonctionne le code d'accès aux données. Cet exemple simple vous montre à quel point la programmation dans ADO est simple. N'oubliez pas de la configurer dans votre entreprise. Toute application "réelle" doit inclure la gestion des erreurs. De manière générale, vous utiliserez également l'enregistrement pour enregistrer des variables telles que les informations sur la chaîne de connexion et vous devrez fournir un moyen d'actualiser les enregistrements et de supprimer les enregistrements inutiles.
Quand Lorsque vous compilerez le projet, deux choses se produiront. n'importe quel projet ActiveX en VB, un enregistrement DLL ActiveX sera généré sur la machine de développement. La deuxième chose est : un fichier de démarrage ASP spécial nommé par le nom spécifié par l'attribut NameInURL. du fichier est : SimpleReg.asp. Regardez le script dans le Bloc-notes. Lorsque l'utilisateur saisit l'URL du fichier dans le navigateur, IIS crée une instance de SimpleReg.wcSimple WebClass. Microsoft vous recommande de ne pas modifier ce script ASP sous. en toutes circonstances.
Du point de vue de l'utilisateur, l'enregistrement de la version WebClass de l'application est similaire à la série présentée en mai 1998. Le code de cette série Il est en effet similaire à la série présentée précédemment, sauf que désormais tout le code est inclus dans le WebClass et le fichier ASP lancé n'inclut aucune information utilisateur
Notes
Comparaison de l'application avant et après , vous devez avoir une compréhension cohérente du fonctionnement de WebClass. Cependant, vous pouvez toujours être réticent à convertir immédiatement votre application Web en WebClass. La conversion d'une application prend un temps considérable, mais vous devriez le faire car cela présente de réels avantages. Par exemple : WebClass vous permet de créer ou d'étendre des applications d'une manière qui n'était pas possible auparavant
. ensemble d'outils pour développer des applications Internet. Bien sûr, il est développé avec VB5. Des applications Web sont également possibles, mais vous devrez utiliser de nombreuses petites astuces de programmation pour que le script ASP interagisse correctement avec la DLL VB sans les limitations. de VBScript, il ne manque pas d'un véritable environnement de programmation événementiel. WebClass donne à VB toutes les fonctionnalités du développement Web - et c'est une bonne chose.