Cet exemple de code vous permet de voir à quoi servent les tableaux et montre également une boucle en action.

Supposons que vous souhaitiez que l'utilisateur saisisse une phrase, puis que vous souhaitiez lui indiquer le nombre de fois qu'il a utilisé chaque lettre de l'alphabet. Donc, si l'utilisateur a tapé:

J'ai mangé mon chat.

Vous retourneriez une page qui disait:

a: 2
c: 1
e: 1
i: 1
m: 1
t: 2
y: 1

OK, première étape. Vous voulez compter 26 éléments différents, un pour chaque lettre de l'alphabet. Ça crie à peu près tableau. Commencez donc avec un

Dim LetterCount (26)
pour CurrLtr = 1 à 26
LetterCount (CurrLtr) = 0
suivant

C'est un bon exemple de boucle for-next. OK, jusqu'ici tout va bien. Vous avez 26 places à zéro, en attendant de commencer à compter. Maintenant, parcourez la phrase pour voir ce qu'elle contient. Disons que vous appelez cette phrase CurrText.

Tout d'abord, vous voulez vérifier chaque lettre de la phrase. Je vais le faire avec une boucle do-while pour que vous puissiez voir comment cela fonctionne. Vous commenceriez donc par:

SenLen = len (CurrText)
CurrCtr = 1
faire pendant que CurrCtr <= SenLen
CurrLtr = gauche (CurrText, 1)

Vous avez la prochaine lettre en ordre. Maintenant, chaque lettre a bien sûr une valeur ascii qui lui est associée. Celles-ci vont de 65 pour A à 90 pour Z. Le cas importe. Ensuite, vous majuscule la lettre pour vous assurer qu'elle se situe entre 65 et 90, et soustrayez 64 de sorte que A = 1 et Z = 26.

CurrLtr = ucase (CurrLtr)
CurrLtrA = asc (CurrLtr)
CurrLtrA = CurrLtrA - 64

Alors maintenant, vous avez un nombre de 1 à 26 qui indique de quelle lettre il s'agit. La prochaine étape est bien sûr facile. Vous venez d'incrémenter ce seau! Si vous le souhaitez, vous pouvez vous assurer d'ignorer toutes les non-lettres, si vous craignez qu'elles ne pénètrent dans le flux.

si CurrLtrA> 0 et CurrLtrA <65 alors
LetterCount (CurrLtrA) = LetterCount (CurrLTrA) + 1
fin si

Et maintenant, à la fin de la boucle, vous vous débarrassez de la lettre sur laquelle vous venez de travailler, de sorte que lorsque vous vous déplacez dans la boucle, la première lettre de la phrase est la suivante dans l'ordre.

CurrText = Droite (CurrText, len (CurrText) - 1)
CurrCtr = CurrCtr + 1
boucle

Alors maintenant, votre tableau est plein de nombres allant de 0 à n'importe quoi, chacun indiquant combien de fois cette lettre a été trouvée. Vous pouvez les afficher comme vous le souhaitez. Si vous vouliez utiliser une boucle et la fonction CHR, qui montre la lettre qui a un certain code ASCII, vous pouvez faire:

pour CurrLtr = 1 à 26
response.write "La lettre"
CurrAscii = CurrLtr + 64
CurrLtrA = chr (CurrAscii)
response.write CurrLtrA & "a été trouvé"
response.write LetterCount (CurrLtr) & "times.
"
suivant

N'oubliez pas de vous arrêter sur nos forums ou d'écrire si vous avez des questions!

Introduction à ASP Ebook

Téléchargez cet ebook pour obtenir tout ce que vous devez savoir sur l'apprentissage d'ASP - d'un didacticiel étape par étape aux listes de fonctions, des exemples de code, des erreurs et des solutions courantes, et bien plus encore! 101 pages.

Instructions Vidéo: EXCEL : FONCTION "NB.SI" : COMPTER LE NOMBRE DE CELLULES QUI CORRESPONDENT A UN CRITÈRE #22 (Mai 2024).