Sudoku : aïe encore un !

Description

Bonjour,

Je poste ce programme pour tenter de trouver une explication à 2 petits problèmes. J'utilise Delphi 2005 sous Windows XP Professionnel Version 2002 service pack 2 et développé avec Delphi 2005. (Pas de composant à installer pour tester)

Problème 1 :
Pour se déplacer dans la grille de jeu, il est possible d'utiliser les touches de direction du clavier de l'ordinateur. Il est aussi possible d'utiliser les touches "Espace" et "0" pour effacer une valeur les touches "-" et "+" pour les fonctions "Undo" et "Redo" et les touches numériques pour entrer les chiffres. Tout se passe bien jusqu'au moment ou j'utilise un des boutons radio des options et seulement les boutons radio. A partir de ce moment là, et avant la pose du Trackbar, les touches de direction du clavier n'ont plus d'influence sur le positionnement de la case en sélection (déplacement du fond de la case verdâtre), mais les autres touches continuent à fonctionner correctement. Les touches de direction faisaient passer le focus d?un Checkbox à l?autre. Depuis la pause du Trackbar, l?utilisation des touches de direction font passer le focus d?un Checkbox à l?autre, puis sur le Trackbar., ensuite de quoi les touches de direction sont à nouveau disponibles pour choisir la case en sélection. J?ai joué avec la propriété TabStop sans succès.

Demande : Le problème vient-il du composant TCheckbox de Delphi ou du composant Windows? Le problème existe-t-il après compilation avec une autre version de Delphi? (ma version = Delphi 2005)

Problème 2 :
Pour le chronomètre, j'utilise la police de caractères "sub0lcd.ttf" (qui se trouve dans le répertoire..\Sudoku) pour simuler un affichage 7 segments. Cela se passe bien sur mon ordinateur sous Windows XP Professionnel Version 2002 Service Pack2 ou sur autre ordinateur avec Windows 2000 Service Pack 4 mais sur un autre ordinateur sous Windows XP Professionnel Version 2002 Service Pack2, l'affichage est animé car la largeur des séparateur ":" du temps n'est pas la même qu'à l'utilisation du séparateur " " dont l'alternance se fait chaque demi-seconde.

Demande : Quelqu'un connaît-il la cause de ce problème? Toutes les polices 7 segments (ou 14 ou 16) trouvées sur le Web ont des largeurs différentes pour les 2 caractères incriminés.

Merci d?avance à tous ceux qui se pencheront sur mes petits problèmes.

Conclusion :


Pour ceux qui veulent regarder de plus près le programme:

J'ai emprunté à JACE1975 le procédé de calcul du nombre de cases à cacher à l'aide d'un "Trackbar" et à MICHELROC l'idée d'utiliser 3 tableaux pour le contrôle du jeu (grille de départ, situation en cours de jeu et solution).

Pour ce qui est des routines de résolution et de génération des grilles, ce ne sont que l'adaptation d'algorithmes trouvés sur le Web. Peut-être une particularité, la résolution indique qu'une solution unique est trouvée, dans le cas contraire le programme demande s'il faut chercher une des solutions possibles. Les grilles générées par le programme ont une solution unique.

Une description, qu'il est conseillé de lire avant d'utiliser le programme, est disponible au format .pdf. Ce fichier est aussi accessible par le menu aide du programme. Les illustrations du fichier d'aide (.pdf) sont celle de l'application qui utilise le composant VclSkin. Le bouton pour choisir l'apparence en chargeant un fichier correspondant au choix de l'apparence est rendu inactif à cause du retrait du composant VCL Skin.

Tous les textes sont chargés depuis des fichiers avec l'extension .lng avec un format des fichiers .ini. Ceci provient du fait que certains de mes programmes sont multilingues et le fichier texte est plus facilement transmit à une personne tierce pour traduction. Il y a un fichier de textes pour les fichiers propre à l'application et un pour les librairies. Ce n'est pas la manière la plus concise pour gérer mais c'est celle que j'ai choisie.

Arborescence des répertoires et contenus :

..\Sudoku - Exécutable, fichier .ini, fichiers texte .lng, fichier d'aide .pdf et police de caractères
..\Sudoku\src - Fichiers source du programme
..\Sudoku\Lib - Unités utilisables sans modification dans d'autres applications

Création en fonction du besoin de répertoires pour la sauvegarde des grilles (voir fichier .pdf)

Pour tester, il est possible de copier tous les fichiers dans le même répertoire.

Cordialement

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.