Developpez.com - Delphi
X

Choisissez d'abord la catégorieensuite la rubrique :

Tutoriel : Un éditeur de texte à fonctions vocales qui utiise Microsofft Agent

2002

Par Benoit Vermersch - vermerschb@mailup.net

ATTENTION, CE TUTORIEL NE PEUT SE REALISER QU'AVEC LA VERSION 6 et 7 DE DELPHI

Introduction

Ce tutoriel s'adresse à des uilisateurs de Delphi débutants mais aussi initiés qui veulent connaîtres les méthodes de la RichEdit avec l'intégration des microsoft agents.

Objectif : connaître les méthodes de la RichEdit et aborder les fonctions vocales des Microsoft Agents pour réaliser un éditeur de texte à fonctions vocales. Ne vous étonnez pas si ce tutoriel possède quelques ressemblances avec celui présenté dans l'aide de Delphi 6 car il m'a beaucoup aidé et je ne la cache pas.

Pout connaître seulement comment créer, animer, faire parler des microsoft agents, rendez vous sur mon premier tutoriel

Ce tutoriel a été réalisé avec Delphi 6 entreprise. Cependant il devrait marcher sur toutes les versions de Delphi supérieurs à Delphi 4. Si vous avez un problème, n'hésitez pas à m'envoyer un email

Sur ce, bonne programmation

I - Éditeur de texte

- Premièrement, démarrer un nouveau projet

- Insérer une RichEdit (Win32) sur votre form puis cliquer sur '...' à cause de sa propriété 'Lines'. Ensuite effacer le contenu pour disposer d'un espace de texte vide au démarrage de l'application

- Régler la propriété 'Align' de votre RichEdit à 'AlClient' pour que votre RichEdit puisse occuper un maximum d'espace et la propriété "ScrollBar" à SSVertical

- Maintenant déposer un composant Status Bar (Win32 sur votre fiche) et cliquer sur '...' à droite de sa propriété Panels. Ensuite, cliquer juste sur ajouter un nouvel élément.

- Metter dans l'emplacement var de Unit1 :

Fichier : string;

Cette variable servira à désigner le fichier que votre richedit affichera

- Puis, à l'aide de l'inspecteur d'objet, sélectionner Form1, puis événements et enfin double-cliquer dans l'emplacement OnCreate qui désigne les actions que votre programme effectueraà son ouverture. Insérez le code suivant dans cet emplacement :

Fichier:='sans titre.txt';
StatusBar1.Panels[0].Text:=Fichier;

Enregistrer votre projet puis executez-le. Vous verrez que sans titre.txt est écrit dans votre status bar.

- Maintenant nous allons créer une liste d'actions que l'on lancera à partir du menu et de la barre d'outil. Pour cela, déposer un composant 'ActionList' (Standard) et double-cliquer dessus afin d'ouvrir son interface

Nous allons définir les action que Delphi n'a pas mise à disposition dans ses actions standards

- Nouveau : Créer une nouvelle action, régler ses propriétés Caption et Name sur "Nouveau" , sa propriété ShortCut sur "Ctrl + N" et sa propriété "Category sur "Fichier".

- Puis dans l'événement execute de cette action, taper :

RichEdit1.Clear;
Fichier:='sans titre.txt';
StatusBar1.Panels[0].Text:=Fichier;

Cette action servira à supprimer le texte de la RichEdit et de régler Fichier à "sans titre.txt"

- Enregistrer : Créer une nouvelle action, régler ses propriétés Caption et Name sur "Enregistrer" , sa propriété ShortCut sur "Ctrl + N" et sa propriété "Category sur "Fichier". Puis dans l'événement execute de cette action, taper :

if (Fichier = 'sans titre.txt') then
FileSaveAs1.Execute
else
RichEdit1.Lines.SaveToFile(Fichier);

Cette commande lance la commande FileSaveas(que nous allons bientôt créer) si le fichier n'a pas encore été enregistré. Autrement le fichier est enregistré

Pour les autres actions, Delphi nous mâche un peu le travail en mettant à disposition des actions standards.

- Ouvrir le ActionList, Cliquer sur"Nouvelle action standard". puis sélectionner en maintenant la touche "Alt Gr" enfoncée (pour sélectionner plusieurs éléments) les actions suivantes : TEditCut, TEditCopy, TEditPaste, TSelectall, TUndo, TRichEditBold, TRichEditItalic, TRichEditUnderline, TRichEditBullets, TRichEditAlignLeft, TRichEditAlignCenter, TRichEditAlignRight, TFileOpen, TFileSaveAs, TFilePrintSetup, TFileExit. Voilà y en a un bon paquet

- Pour ceux qui possèdent le version us de Delphi, aller dans chaque catégorie puis sélectionner avec Alt Gr, la totalité des actions de cette catégorie et metter leurs propriétés Category en français. Maintenant aller dans la rubrique "toutes les actions" et il ne reste plus qu'à traduire tous les caption et hints de vos action. Ne changez pas les propriété Name.

- Nous allons définir plus précisément certaines actions.

Ouvrir : Sélectionner FileOpen1 puis dans l'inspecteur d'objets, cliquer sur le petit + à côté de dialog pour définir les paramètres de la boîte de dialogue Ouvrir. Metter la propriété DefaultExt à "txt" et Title à "Ouvrir un fichier texte". Ensuite, double-cliquez sur "filtrer" et remplisser-le selon le screeshot suivant :

- Ensuite, metter le code suivant dans l'évènement Onaccept :

RichEdit1.Lines.LoadFromFile(FileOpen1.Dialog.FileName);
Fichier:=FileOpen1.Dialog.FileName;
StatusBar1.Panels[0].Text:=Fichier;

Votre programme va ainsi charger le fichier sélectionné

Enregistrer Sous : Sélectionner l'action FileSaveAs puis dans l'inspecteur d'objets, cliquez sur le petit + à côté de dialog pour définir les paramètres de la boîte de dialogue Enregistrer Sous. Metter la propriété DefaultExt à "txt" et Title à "Ennregistrer un fichier texte". Ensuite, double-cliquez sur "filtrer" et remplisser-le de la même manière que pour la commande Ouvrir.

Ensuite dans l'événement Onaccept de FileSaveAs, insérer le code suivant :

RichEdit1.Lines.SaveToFile(FileSaveAs1.Dialog.FileName);
Fichier:=FileSaveAs1.Dialog.FileName;
StatusBar1.Panels[0].Text:=Fichier;

Cette commande ordonne au programme d'enregistrer les lignes de votre RichEdit dans le fichier sélectionné avec la boîte de dialogue Enregsitrer sous

Imprimer : Sélectionner FilePrintSetup dans la liste d'actions puis insérer le code dans son évènement OnAccept :

RichEdit1.Print('Imprimer le document');

Suite : Accès aux actions par le menu et la barre d'outils

 

 

Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -