Recommandé: Utilisez ASP pour fabriquer des graphiques à secteurs, des graphiques à barres, etc. Dans nos travaux, nous devons souvent convertir les données en graphiques à barres, graphiques circulaires, etc. pour faciliter et une analyse intuitive des données. Ici, je vous présenterai un composant qui fabrique des graphiques à tarte et des graphiques à barres dans ASP: CSDrawgraph, csdgt.zip. Parce qu'il s'agit d'un composant, nous devons utiliser REGSV avant de l'utiliser.
Programmation orientée objet
À mesure que la complexité de la conception du programme augmente, les méthodes de programmation structurées ne sont pas suffisantes. La raison fondamentale de l'utilisation insuffisante est qu'il n'est pas pratique de réutiliser le code. Une méthode orientée objet est née et il met en œuvre des fonctions de réutilisation de code relativement complète par l'héritage. De nombreux étudiants sont souvent posés une question lors des entretiens lors de la demande d'emplois. Parlons de ce qu'est la programmation orientée objet. Les étudiants sont sans voix et reviennent me demander comment répondre à cette question. Je lui ai dit qu'un seul mot suffit. La programmation orientée objet est l'encapsulation des données; La programmation de paradigmes (modèles) est l'encapsulation des algorithmes. Plus tard, lorsqu'un étudiant a rencontré ce problème, il y a répondu simplement avec une simple phrase, et l'autre partie a regardé l'élève avec admiration (l'étudiant m'a dit fièrement plus tard). Pourquoi ça? Parce que ce n'est qu'à travers une expérience approfondie et une pratique que cette essence peut être extraite.
Des méthodes et des idées de conception orientées objet ont été proposées dès le début des années 1970. Le but est de forcer le programme à manipuler les données par le biais de fonctions. De cette façon, l'encapsulation des données est implémentée et le bogue causé par tout code de la méthode de conception précédente peut être évité. Il est très difficile de trouver et de modifier ce bogue. Ensuite, vous pouvez dire que même si je n'utilise pas les objets, lorsque je veux accéder à une certaine données, j'utilise simplement la fonction d'appel pour y accéder, ne serait-ce pas bien? Oui, ça va, mais ce n'est pas obligatoire. Les gens sont paresseux. Quand je veux ajouter 1 à moi, pourquoi dois-je appeler une fonction? Oubliez-le, il est plus facile d'économiser des problèmes. Haha, à cause de cette paresse, il est difficile de saisir lorsque le programme a un bug. Orienté objet est obligatoire et résout votre problème de paresse à partir de l'étape de compilation.
Par coïncidence, la pensée axée sur les objets est en fait conforme aux problèmes de problèmes quotidiens. Par exemple, je prévois de jeter une tasse de thé, comment puis-je le jeter? C'est trop simple, ramassez la tasse de thé, marchez jusqu'à la poubelle et jetez-le! Faites attention à l'analyse de ce processus. Nous sélectionnons d'abord un objet ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Les actions peuvent s'appliquer pour faire des sons ...; Un morceau de papier peut être écrit, déchirure, brûlé ... c'est-à-dire une fois qu'un objet est déterminé, la méthode est également déterminée. Voici comment est notre vie quotidienne. Cependant, lorsque vous pensez à nos opérations de programmation et d'ordinateur, ce n'est pas le cas. Prenez l'opération DOS comme exemple. Je souhaite supprimer un fichier par: C:> Del Nom du fichier <Entrée> à l'invite DOS. Faites attention à ce processus. Les actions sont devant (del) et les objets sont dans le dos (nom de fichier), et les méthodes orientées objet sont dans l'ordre opposé. C'est donc juste une question de commande, quel impact cela aura-t-il? Haha, vous devez avoir vu ce phénomène: fichier introuvable. Ah ~~~, j'avais tort, j'avais tort, j'ai tapé une lettre dans le mauvais nom de fichier, donc je rentre: C:> Del Nom du fichier 2 <Entrée>. Malheureusement, se reproduit, rapport informatique: le fichier lecture uniquement. Haha, douleur :). Ainsi, le fonctionnement de DOS viole en fait nos habitudes quotidiennes (bien sûr, personne n'a auparavant soulevé des objections), mais maintenant en raison de l'utilisation de la conception orientée objet, ces problèmes sont résolus au moment de la compilation, pas au moment de l'exécution. obj.fun (), pour cette déclaration, qu'il s'agisse d'un objet ou d'une fonction, s'il y a un problème avec votre entrée, il sera signalé pendant la compilation, afin que vous puissiez le modifier, plutôt que de faire des erreurs pendant l'exécution, ce qui vous fera attraper des bogues partout.
Dans le même temps, les objets peuvent résoudre le problème de la réutilisation du code - héritage. J'écrivais une classe de chiens, avec des attributs (variables): poilues, 4 jambes, une queue surélevée (celle avec une queue tombante est un loup), un nez très sensible et aime manger de la viande et des os ... les méthodes incluent (fonction): capable de courir, d'odeur, d'abarnant ... si elle attrape des rats, les gens l'appellent l'imagination. OK, le type de chien a été écrit. Mais dans ma vie réelle, le chien que j'ai est très similaire au chien que j'ai écrit auparavant, avec seulement une petite différence, c'est-à-dire mon chien, c'est: bouclé et long, avec un petit nez, une petite bouche ... donc, j'ai dérivé un nouveau type appelé Pug et ajouté de nouvelles fonctionnalités au chien. OK, le programme est terminé et le code correct de la précédente est réutilisé - c'est l'avantage de la programmation orientée objet. Mon succès est juste sur les épaules du géant. Bien sûr, si vous utilisez VC, le code qui réutilise le plus est la bibliothèque de classe MFC.
=======================================================================================.
Ok, alors voyez comment nous utilisons ASP.
Tout le monde utilise généralement le langage de script par défaut de l'IIS comme le langage d'exécution côté serveur d'ASP. Au début, le script VBS et le HTML sont essentiellement mélangés pour atteindre certaines fonctions. Par exemple, vous devez afficher les 5 derniers enregistrements sur la page actuelle, c'est tout.
1. Définissez d'abord la connexion à la base de données, telle que:
| Ce qui suit est le contenu cité: db_path = ../database/cnbruce2005.mdb Définir Conn = Server.CreateObject (ADODB.Connection) Connstr = fournisseur = Microsoft.Jet.oledb.4.0; Data Source = & Server.Mappath (DB_PATH) Conn.Open Connstr |
2. Créez ensuite une collection d'enregistrements de base de données pour extraire les informations pertinentes
| Ce qui suit est le contenu cité: Set rs = server.createObject (adodb.recordSet) SQL = Sélectionner le top 5 * à partir de [News] Order by N_ID DESC Rs.Open SQL, Conn, 1,1 |
3. Enfin, affichez la méthode des données via la boucle
| Ce qui suit est le contenu cité: faire tout en pas Rs.Eof Response.Write RS (n_title) Rs.MovEnext boucle 'Il y a aussi des opérations d'arrêt et de libération finales Rs.Close Définir RS = rien |
Donc, ici dans Response.Write RS (N_Title), pour la conception Web finale, on estime que certains autres éléments de balise HTML doivent être ajoutés avant et après. Donc, naturellement, les scripts VBS et le HTML sont mélangés.
Regardons-le à nouveau. S'il existe de nombreuses pages qui doivent afficher ces 5 enregistrements, alors devez-vous définir chaque page comme celle-ci? Bien sûr, la chose la plus importante est que la conception de chaque page est différente. Alors c'est la répétition. Répéter où? Pouvez-vous ne pas le répéter?
1. Pour les connexions de la base de données, un fichier de connexion de base de données Conn.asp est directement établi et le contenu est comme ci-dessus.
2. Donc, tant que vous devez utiliser la base de données et avoir besoin d'établir une connexion, vous pouvez directement inclure le fichier de connexion de la base de données référencée.
<! - # Inclure File = Conn.asp ->
Alors, quelles répétitions sont sauvées ci-dessus? Répétez chaque connexion à la base de données. Il s'agit d'une anti-duplication pour certains codes communs. Jetons un coup d'œil. Si je veux que cette page affiche 5 pièces et que cette page affiche 6 pièces, que dois-je faire? De toute évidence, cela ne peut être qu'une simple modification de l'instruction SQL dans la page actuelle, comme la modification originale du top 5 au top 6.
Ok, continuez à regarder, y a-t-il des répétitions? Oui, à l'exception des différentes définitions de la requête SQL, les autres sont tous des doublons.
Alors, continuez à penser à une solution: pouvez-vous définir vous-même le nombre d'éléments extraits? Je veux juste extraire seulement quelques éléments, mais le programme n'a qu'à en écrire un. Ensuite, pour le moment, la fonction sera utile. Par exemple, je définis une fonction comme ceci:
| Ce qui suit est le contenu cité: Fonction topnews (tnum) Set rs = server.createObject (adodb.recordSet) SQL = SELECT TOP & TNUM & * From [News] Order by N_ID DESC Rs.Open SQL, Conn, 1,1 faire tout en pas Rs.Eof Response.Write RS (n_title) Rs.MovEnext boucle Rs.Close Définir RS = rien Fonction finale |
Ensuite, vous pouvez utiliser les topnews (5) ou les topnews (6) pour répondre au besoin
... À première vue, il semble qu'ASP utilise des fonctions et est enfin terminé. Étant donné que la fonction du programme principal est transformée en module de fonction, vous devez l'appeler directement lorsque vous utilisez cette fonction sur la page de premier plan. Si nécessaire, modifiez la valeur du paramètre de fonction pour être une fin parfaite /.
Alors, pourquoi les classes ont-elles été introduites dans ASP? Qu'est-ce que ce type? Et comment l'appliquer?
Dans le langage de script ASP, VBScript a un mot-clé de classe, qui peut être utilisé pour déclarer une classe personnalisée. Par exemple
| Ce qui suit est le contenu cité: Nom de classe affirmations Classe finale |
Ici, les membres publics ou privés peuvent être déclarés dans des déclarations, y compris les fonctions, les membres et les attributs.
JavaScript utilise une fonction pour déclarer une classe, puis définit les propriétés de la fonction via ce.prototype et méthodes this.func définit.
Lequel est simple de choisir celui-ci. Après avoir défini le nom de la classe, c'est-à-dire la classe, que peut-on faire ici?
Le premier. Documentation MSDN: dans Visual Basic 6.0, lors de la création et de la destruction d'un module de classe, le module de classe utilise les événements Initialize et terminer pour effectuer toutes les opérations nécessaires. Lorsqu'un objet est rencontré pour la première fois après une nouvelle instruction, l'événement Initialize est soulevé et lorsque la dernière référence à l'objet est libérée, l'événement de terminaison est immédiatement augmenté. Cependant, ces méthodes d'événement peuvent être appelées directement à tout moment pendant l'exécution.
Je vois donc souvent des exemples comme celui-ci:
Classe CNBRUCE 'déclarer une classe nommée CNBRUCE
| Ce qui suit est le contenu cité: Cnrose privé Private Sub class_inialize cnrose = mon nom est cnrose. Sub-Sub Private Sub class_termiate () Sub-Sub Classe finale |
Regardez, c'est une initialisation.
De plus, il existe des méthodes LET et Get dans la classe ASP. Par exemple, ajoutez entre la classe CNBruce du code ci-dessus ... Classe finale:
| Ce qui suit est le contenu cité: La propriété publique obtient yname Yname = cnrose Propriété finale |
C'est-à-dire devenir:
Classe CNBRUCE 'déclarer une classe nommée CNBRUCE
| Ce qui suit est le contenu cité: Cnrose privé Private Sub class_inialize cnrose = mon nom est cnrose. Sub-Sub Private Sub class_termiate () Sub-Sub La propriété publique obtient yname Yname = cnrose Propriété finale Classe finale |
Alors comment extraire la valeur, par exemple
| Ce qui suit est le contenu cité: Définir AAA = NOUVEAU CNBRUCE réponse.write aaa.yname |
Notez que aaa.yname se sent déjà un peu. AAA est un objet défini comme la classe CNBRUCE. La sortie finale s'affiche car le nom YName obtient une valeur dans l'objet de cette classe. Son contenu de valeur est la valeur de la variable CNROSE et la valeur a été initialisée. Par conséquent, le résultat final est que mon nom est CNROSE.
C'est Get, qui extrait directement l'intérieur de la classe déjà encapsulée, alors qu'en est-il de laisser? Autrement dit, les opérations d'accès interactif externes aux classes. Par exemple, j'applique maintenant la valeur définie à l'extérieur à la classe. Autrement dit, définissez d'abord:
| Ce qui suit est le contenu cité: propriété publique Let Mname (NNN) cnrose = nnn propriété finale |
Sa signification est très simple. La valeur du paramètre NNN sera attribuée à la variable CNROSE en fonction de différentes valeurs externes. Ensuite, le programme de combinaison OK, c'est-à-dire le contenu de la variable affichée CNROSE, n'est pas le contenu initialisé, mais la valeur incertaine appliquée à l'extérieur par LET. Ensuite, comment appliquer let.
aaa.mname = sdasdasd
Définissez simplement la valeur directement. Ensuite, regardez maintenant l'ensemble du programme:
| Ce qui suit est le contenu cité: <% Classe CNBRUCE Cnrose privé Private Sub class_inialize cnrose = mon nom est cnrose. Sub-Sub La propriété publique obtient yname Yname = cnrose Propriété finale propriété publique Let Mname (NNN) cnrose = nnn propriété finale Classe finale Définir AAA = NOUVEAU CNBRUCE aaa.mname = hahahoho réponse.write aaa.yname %> |
Bien que la valeur de aaa.mname soit définie comme hahahoho, selon la propriété publique Let Mname (NNN), sa valeur est à la variable CNROSE. Lorsque les résultats ainsi aaa.yname, selon la propriété publique Get Yname, il n'est pas surprenant que la valeur du résultat soit. / /
Quant aux programmes fonctionnels, ils sont définis comme une fonction de fonction ou un sous-programme sous-programme dans la classe.
Ainsi, en général, n'est qu'un emballage de fonctions, et il est facile d'écrire et de bien paraître lors de l'application (nom de classe directe, méthode, nom de classe, attribut -_-!), Mais ne vous attendez pas à ce qu'il ait des services de pensée axés sur les objets comme Java ou .NET.
Le temps est limité, et le début et la fin sont juste un peu.
Partager: Conseils pour utiliser ASP pour transférer les données de format HTML à Excel Apprenez à créer une page ASP pour diffuser des données HTML sur une feuille de calcul EXECL et afficher la feuille de calcul EXECL dans IE. Jusqu'à présent, il existe plusieurs façons de créer des tables de données Excel à l'aide de la technologie ASP, et vous pouvez également utiliser les groupes VBA Excel 8.0 côté serveur