Les Défis DELPHI - Générer de jolis fichiers ASCII !
Date de publication : 28 décembre 2007
Par
l'Equipe DELPHI (Les Défis DELPHI)
Le 5ème 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'art ASCII consiste à réaliser des images uniquement à l'aide des lettres et caractères spéciaux contenus dans le code ASCII
(1).
I. Sujet du défi
I-A. Pré-requis
I-B. Les objectifs du défi
II. Le défi: topic
III. Sources du défieur
I. Sujet du défi
Le 5
ème 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érieur ou égal à 32. La police de caractères utilisée pour visualiser les fichiers générés est :
Police de caractères |
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 :
exemple en art ASCII / deux polices différentes / largeur 80 caractères / hauteur 25 caractères |
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
DELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELP DEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVE
HIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDE LOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPPEZCOMDELPHIDEVELOPP
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 dans la page Freeware de la rubrique DELPHI de www.developpez.com !
Il peut être nécessaire de savoir farfouiller sur le site de www.developpez.com dans la rubrique DELPHI et plus particulièrement dans la faq F.A.Q. DELPHI, dans les SOURCES DELPHI, dans les tutoriels DELPHI et dans 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érieur ou égal à 32. La police de caractères utilisée pour visualiser les fichiers générés est :
Police de caractères |
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ' Courier New '
Font.Style = []
|
- Laissez libre court à votre imagination et proposez 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 Borland sont interdites, qu'elles soient commerciales, freewares, open-source etc. ..."
II. Le défi: topic
Comme pour tous les défis, ce défi s'est déroulé sur le forum DELPHI.
Vous pouvez désormais retrouver sur cette page l'archive du sujet concernant ce défi.
III. Sources du défieur
Si vous souhaitez télécharger les sources du projet |
|
|
(1) |
Extrait de Wikipedia.
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ©
2007 Whiler. Aucune reproduction, même partielle, ne peut être
faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.