I. Sujet du défi▲
Le 6e défi proposé par l'équipe Delphi est la création d'une application qui, à partir d'un texte en entrée, d'une police de caractères, d'une largeur et d'une hauteur saura générer un art ASCII dans un fichier texte.
L'utilisateur devra saisir un texte avec la police de caractères de son choix.
L'utilisateur devra également spécifier le nombre de caractères utilisés pour la largeur et la hauteur de l'art ASCII que l'application va lui générer.
L'application devra être capable de générer un fichier ASCII dessinant le texte saisi par l'utilisateur avec sa police de caractères utilisée.
Le fichier généré ne pourra utiliser que des caractères ASCII non étendus et supérieurs ou égaux à 32. La police de caractères utilisée pour visualiser les fichiers générés est :
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Courier New'
Font.Style = []
Le fichier généré possèdera le nombre de caractères saisi pour la largeur et pour la hauteur par l'utilisateur.
Et comme rien ne vaut un exemple… Imaginons celui-ci :
PPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZ DELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELP
COMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMD HIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDE
ELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPH VELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELO
IDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDE VELOPPEZCOMDELPHID PPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZ
EVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVE LOPPEZCOMDELPHIDEV COMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMD
ELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELO PPEZCOMDELPHIDEVEL ELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPH
OPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPP EZCOMDELPHIDEVELOP IDEVE L O P PEZCOM D ELPH IDEVEL
PEZCOMDEL PHI DE VE LO P P EZC OMD ELPHIDEVE OPPEZCO MD EL PHID E VEL OPP E Z COMDELP HIDEVE
LOPPEZCO MD E LP H I DE VE LOPPEZCO LOPPEZC OM DE LP HIDE VE LO PPE ZCO MD ELPHIDE VE LOPPEZ
MDELPHID EV EL O P PE ZC OMDELPHI COMDELP HIDEV ELOPP EZCO M DELP HI DEVELOP PEZCOMDE
DEVELOP PEZ CO M D E L PH I DEVELOPP LPHIDEV ELOPPE ZCOMD ELPH I DEVE L OPPEZCO MDELPHID
EZCOMDE LPHI DEV E LO PP E ZCO MD E LPHIDEVE EVELOPP EZCOMD ELPHID EVE LOPP E ZCOMDEL PHIDEVEL
LOPPEZC OMDELP HID EVE LO PP E ZCO MD E LPHIDEVELO OPPEZCO MDELP HIDEV ELO P PEZC OMD ELPHIDE VELOPPEZ
PPEZCOM DELPHID EVE LOPPE ZC OM D ELP HI D EVELOPPEZCOM COMDELP HIDE VELOP PEZ CO MD ELPH IDEVE LOP PE ZCOMDELP
DELPHID EV EL OP PEZ C OM DE L P HI D EV ELOPPEZC HIDEVEL OPP EZC OMDE LPH ID EV ELOP PEZCO MDE LP HI DEVELO
OMDELPH I D E VE LO P PE Z COMDELPH PPEZCOM DE L PH IDEV E LOP PEZ COMDE LP H IDEVE
IDEVELOPP EZ COM DE LP HI DE V ELOP PEZ COMDELPHI LOPPE Z CO MD ELPHI
DEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCO MDELPHIDEVELOPPEZCOMDELPHIDE DEVEL OPPEZCOMD EL P HIDEV
VELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMD ELPHIDEVELOPPEZCOMDELPHIDEVE ELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOP
LOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDEL PHIDEVELOPPEZCOMDELPHIDEVELO PEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZC
PPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPH IDEVELOPPEZCOMDELPHIDEVELOPP OMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDE
EZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHID EVELOPPEZCOMDELPHIDEVELOPPEZ LPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHI
HIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDE LOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPP
DELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELP DEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVE
VELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELO EZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCO
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▲
Le logiciel doit comporter les éléments suivants :
- créer l'interface utilisateur de l'application ;
- respecter le sujet du défi :
- l'utilisateur devra saisir un texte avec la police de caractères de son choix,
- l'utilisateur devra également spécifier le nombre de caractères utilisés pour la largeur et la hauteur de l'art ASCII que l'application va lui générer,
- l'application devra être capable de générer un fichier ASCII dessinant le texte saisi par l'utilisateur avec sa police de caractères utilisée,
- le fichier généré ne pourra utiliser que des caractères ASCII non étendus et supérieurs ou égaux à 32. La police de caractères utilisée pour visualiser les fichiers générés est :
Police de caractèresSélectionnezFont.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -
11
Font.Name ='Courier New'
Font.Style = [] - Laissez libre cours à votre imagination et proposez vos propres fonctionnalités.
Les participants 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 Borland sont interdites, qu'elles soient commerciales, freewares, open source, etc. »