Étape 4: Comprendre le Code, partie 2
Ligne 16 : void waitfor est notre première sous-routine. Une sous-routine peut être appelée depuis un autre endroit dans le code, exécutera le code dans le corps de la sous-routine et renverra ensuite programmer le contrôle au code appelant. WAITFOR met en place notre coquille pour nous. En faisant cela dans une boucle avec un « sommeil » dans la boucle, nous permettons l’activation de la coquille à remplir avant le contrôle étant retourné, qui est une très bonne chose.Ligne 26 : void matrice est notre deuxième sous-routine et prend un paramètre appelé « éléments ». Cette sous-routine effectue l’impression des numéros cool qui semblent « tomber », comme dans le film.
J’ai pris un peu de choses pour acquises ici. Si tout va bien, en expliquant leur vous comprendrez où je suis venant et peut le faire mieux que moi.
Tout d’abord, je suppose que vous voulez seulement 5 colonnes de nombres, et que les « éléments » sont divisibles par le nombre de colonnes (5). Cela a été facile de garantir car plus tard j’ai déclarer des paramètres passés à « matrix » 200 et 100 (il est appelé deux fois).
Aussi, je suppose que vous voulez tous les 5 colonnes activés par défaut. Je pense qu’il semble OK, mais vous pourriez changer quelques-uns de ceux-ci sur FALSE si vous souhaitez que la première ligne des numéros à paraître aussi aléatoire que le reste des lignes sera.
OK, donc nous avons 5 colonnes, nous avons 200 / 5 = 40 lignes de nombres à afficher (linesToWrite) et toutes nos colonnes sont activés par défaut.
Ligne 41 : nous entrons dans deux « pour » les boucles, le premier des quels cycles (boucle A) par le biais de nos linesToWrite et le second (boucle B) qui permet de sélectionner le nombre de colonnes. Dans la boucle B, nous sélectionnons sur la valeur de la loopB variable de boucle, et en fonction de sa valeur, nous évaluons une instruction If-Else. Si la colonne en question est activée (« TRUE » ou « allumé »), nous imprimerons, via "wshshell. SendKeys", la valeur de Int(Round(rnd())), suivie d’un onglet sinon, nous allons imprimer uniquement une étiquette, telle que la colonne est vide.
Alors, quelle est la valeur de Int(Round(rnd()))? RND() retourne un nombre à virgule flottante aléatoire comprise entre 0,0 et 1,0, Round() prendra cette valeur et arrondir à la valeur de nombre entier le plus proche, et Int() jette le résultat d’un entier. Cette dernière étape pourrait être considérée excessif, étant donné que l’appel Round() devrait nous donner 0 ou 1. Je l’ai fait juste à cause de l’habitude. À un moment donné quelqu'un doit m’ont dit que c’était plus sûr, et j’ai apparemment n’ai pas oublié encore.
Sur une partie 3...