Alphabet des colonnes

dimanche 10 juillet 2011
par  Matt
popularité : 4%

Votre première boucle For Next.


Ouvrir votre classeur Chess.xls puis le VBE (Alt+F11), la fenêtre Exécution (Ctrl+G), et la fenêtre d’édition sur le module ModChess. On réutilise les constantes définies dans Tout l’échiquier dans une chaîne.

Alphabet des colonnes

Avant d’améliorer la présentation du mini échiquier des initiales des pièces en les affichant par rangée, on commence par les coordonnées des colonnes sur le bord de l’échiquier.

Dans la fenêtre d’édition du module ModChess, ajouter la fonction suivante.

Function Alphabet() As String
Dim indFile As Byte

   Alphabet = ""
   For indFile = 0 To countFile - 1
       Alphabet = Alphabet + Chr(indFile + ascFileA)
   Next
End Function

Dans la fenêtre d’Exécution :

? Alphabet()

abcdefgh

On commence par initialiser Alphabet avec la chaîne vide puis on accumule (concatène) dans cette String les huit premières lettres de l’alphabet. Dans FileRankToString(), on a déjà vu comment convertir l’index de colonne de 0 à 7 en lettre entre ’’a’’ et ’’h’’.

Ce qui est nouveau est la boucle For Next.

For demande un index (ici indFile) qui varie de la borne minimale 0 à ([bleu marine]To[/bleu marine]) la borne maximale countFile - 1 = 7 d’un pas de 1.

En fin du bloc For, Next signifie recommencer avec la valeur suivante de indFile, c-a-d que l’on a incrémenté indFile exactement comme si on avait indFile = indFile + 1 puis [bleu marine]GoTo[/bleu marine] vers le début du bloc For.

On exécute le bloc d’instructions du For huit fois parce qu’il y a huit colonnes. Dans ce For, le bloc n’a qu’une instruction :

Alphabet = Alphabet + Chr(indFile + ascFileA)

Comme toujours avec l’affectation, il faut lire dans le sens contrairement du sens de lecture occidental. C-a-d on commence à évaluer l’expression de droite qui concatène Alphabet avec la lettre minuscule Chr(indFile + ascFileA). La cible de l’affectation est toujours à gauche.

Avant de rentrer dans la boucle, Alphabet = ’’’’ la chaîne vide.

La première fois quand indFile = 0, l’expression de droite est donc la chaîne vide concaténée avec Chr(0 + ascFileA) = Chr(ascFileA) = ’’a’’.

Le résultat de l’expression est donc ’’a’’ qui est rangé dans Alphabet en partie gauche de l’affectation.

Alphabet apparaît à la fois en partie droite et en partie gauche du symbole d’affection "=".

  • A droite sa valeur est l’ancienne valeur avant l’affectation.
  • A gauche sa nouvelle valeur va être affectée par l’expression en partie droite.

Dressons un tableau des différentes valeurs de la chaîne Alphabet selon l’index indFile :

indFileAlphabet
 ? ’’’’
0 ’’a’’
1 ’’ab’’
2 ’’abc’’
3 ’’abcd’’
4 ’’abcde’’
5 ’’abcdef’’
6 ’’abcdefg’’
7 ’’abcdefgh’’

Pour mieux comprendre votre première boucle, suivez pas à pas l’évolution de la String Alphabet dans le débogueur de VBA. Voir Mise au point avec le débogueur VBA.


Précédent : Tout l’échiquier dans une chaîne

Suivant : Mini échiquier 2D des pièces


Brèves

Championnat jeunes 2018

dimanche 25 février 2018

A St Sernin sur Rance, Vadim Breton se qualifie pour le championnat de France jeunes. Il termine à la 4ème place des benjamins. http://echecs-occitanie.com/spip.php?article382&mode=AF

Les Jeunes qualifiés en NIII !

mercredi 14 décembre 2016

Dimanche 11 décembre 2016, aux interclubs jeunes à Leguevin, notre équipe a gagné un match et fait match nul aux deux autres.

L’équipe composée de Xavier, Vadim, Aurélie et Titouan termine 8ème et se qualifie pour la N3. A noter que Xavier et Vadim ont gagné toutes leurs parties.

Sur le Web : Site de la LMPE

Championnat jeunes

lundi 5 décembre 2016

Xavier, Vadim et Martin trois champions du Tarn et Garonne
Lire l’article

Coupe Loubatière

lundi 5 décembre 2016

Le club qualifié pour la phase régionale de la coupe Loubatière
Lire l’article

Sur le Web : Coupe Loubatière

Tournoi interne 2016-2017

lundi 5 décembre 2016

C’est reparti pour le tournoi interne : 1 partie par mois de novembre à mai
Lire l’article

Live Playchess.com

mercredi 7 septembre 2016