Les Défis DELPHI - Écrivez à la souris !

Équipe Delphi

Le deuxième défi proposé par l'équipe Delphi est de créer un logiciel qui écrit… ce que vous écrivez à la souris !

- Titre : Les Défis DELPHI - Écrivez à la souris !

- Auteur : Équipe Delphi

- Parution : 1 août 2006

- Mise à jour : 27 avril 2013

- Public visé :

- Licence : Copyright ® 2006 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Sujet du défi

- I-A. Prérequis

- I-B. Les objectifs du défi

- II. Le défi : Participez !

- III. La solution du défieur

- IV. IV. Les résultats du défi : Écrivez à la souris !

- IV-A. IV-A. Préambule

- IV-B. IV-B. Barème

- IV-C. IV-C. Classement des participants

- V. V. La solution du vainqueur

- V-A. V-A. La page du vainqueur

- V-B. V-B. Les sources de la solution

- VI. VI. Les solutions des challengers

I - Sujet du défi

Le deuxième défi proposé par l'équipe Delphi est de créer un logiciel qui écrit… ce que vous écrivez à la souris !

Il s'agit de réaliser un programme capable de reconnaître des caractères ou des symboles tracés à la souris. On appelle ceci la reconnaissance gestuelle.

I-A - Prérequis

Pour réaliser ce défi, une simple édition personnelle de Delphi suffit. Pas besoin d'avoir les bibliothèques spécifiques aux versions Pro/Entreprise/Architecte !

Certaines versions personnelles de DELPHI sont disponibles au téléchargement sur Developpez.com.

Il peut être nécessaire de savoir farfouiller dans la rubrique DELPHI et plus particulièrement dans :

- la F.A.Q. DELPHI ;

- les Sources DELPHI ;

- les tutoriels DELPHI ;

- les forums DELPHI.

I-B - Les objectifs du défi

Votre logiciel devra savoir :

- reconnaître les mouvements de la souris ;

- interpréter ces mouvements ;

1. reconnaître les lettres de l'alphabet (majuscules, minuscules) ;

2. reconnaître des symboles simples ;

- reporter l'interprétation des mouvements dans un Mémo ;

- interpréter des mouvements particuliers pilotant votre application ;

- laisser libre cours à votre imagination et proposer vos propres fonctionnalités.

Les participant doivent respecter les règles du défi, et le déroulement du défi et plus précisément que « l'utilisation de composantes ou bibliothèques autres que celles fournies en standard par Embarcadero sont interdites, qu'elles soient commerciales, freewares, open-source etc. »

II - Le défi : Participez !

Ce défi se déroule sur le forum DELPHI.

III - La solution du défieur

Waskol, selon les règles du défi, a réussi à mettre au point un tel logiciel avant que le défi ne soit lancé sur le forum.

Waskol nous présente en détail sa solution.

IV - IV. Les résultats du défi : Écrivez à la souris !

IV-A - IV-A. Préambule

Il est à noter que Thierry Laborde et TicTacToe n'ont bénéficié d'aucun avantage en intégrant l'équipe de Developpez dans cette période.

En effet, les intégrations ont été effectuées après la date limite de fin du défi, tous les codes sources étant déjà rendus et en possession de l'équipe Delphi.

Bien évidemment, ils n'ont en aucun cas participé aux votes et discussions pour déterminer le vainqueur de ce défi.

IV-B - IV-B. Barème

Le classement des participants a été fait de la manière suivante, selon des critères précis :

1. Objectif atteint [ 20 points ] :

1. [8] reconnaître les mouvement de la souris ;

2. [4] interpréter ces mouvements ;

3. [2] reporter l'interprétation des mouvements dans un Mémo ;

4. [2] interpréter des mouvements particuliers pilotant votre application ;

5. [4] laisser libre court à son imagination et proposer ses propres fonctionnalités.

2. Codage [ 24 points ] :

1. [4] clarté du code (noms des variables, commentaires, indentation, nommage des composants visuels) ;

2. [4] création d'objets/de composants/de bibliothèques de fonctions réutilisables ;

3. [4] agencement des différentes unités, simplicité du code, compacité du code (le plus court possible) ;

4. [4] niveau de séparation IHM (évènements de la fiche)/algorithmes de traitement (dans une unité à part)/données (unité à part gérant le chargement, la sauvegarde et la gestion), utilisation d'événements partagés, des TActionList) ;

5. [4] aans bug (libération des objets, avertissements compilateur, etc) ;

6. [4] note de style (agencement des composants visuels, splitter, contraintes de dimensionnement, ancres, Frames, Panels, etc).

3. Considérations esthétiques [ 6 points ] :

1. Splash, icônes ;

2. Effets spéciaux…

IV-C - IV-C. Classement des participants

Le classement des participants a été fait selon le barème énoncé en section précédente.

Chaque participant recoit une note sur 50.

1 (20 pts)

2 (24 pts)

3 (6 pts)

Total

Classement

Commentaires

A

B

C

D

E

A

B

C

D

E

F

A,B

Claudius40

5

2

2

0

1

3

1

2

0

4

4

3

27

3

Jeannot Alpin

0

0

0

0

3

2

0

1

0

0

4

4

14

5

Ne Compile pas (Levenshtein.pas)

korntex5

0

0

0

0

3

1

0

1

0

0

2

2

9

6

Utilisation de Excel (appli. exterieure)

acness

4

1

1

2

0

3

1

3

0

4

2

3

24

4

Impossible de lui apprendre quoi que ce soit.

TicTacToe

6

4

2

2

3

4

1

2

3

4

4

6

41

2

Thierry Laborde

8

2

2

1

4

4

3

3

3

4

4

6

44

1

Arrive donc en tête Thierry Laborde, suivi de :

- TicTacToe ;

- Claudius40 ;

- acness ;

- Jeannot Alpin ;

- korntex5.

V - V. La solution du vainqueur

Félicitation donc à Thierry Laborde pour sa victoire au défi Delphi N°2.

Il a su nous présenter un programme alliant simplicité d'usage et efficacité, de surcroit avec un design unique.

V-A - V-A. La page du vainqueur

Thierry Laborde nous présente en détail sa solution ainsi que la manière dont il a vécu ce défi sur cette page.

V-B - V-B. Les sources de la solution

Téléchargez le code source du vainqueur

Téléchargez l'exécutable du vainqueur

VI - VI. Les solutions des challengers

Parmi les différents participants, six challengeurs ont franchi le pas !

Retrouvez la présentation de leurs solutions.