Creation d'un expert : ajouter une option dans le menu "aide" de delphi

Description

Cet expert permet d'ajouter dans le menu "Aide" un lien vers le site Delphipage.

Pour créer cet expert, j'ai utilisé la classe TIExpert.
Il existe plusieurs formats d'experts : format DCU et format DLL. Cet exemple utilise le format DCU (fichier PAS compilé).

L'installation se réalise comme pour un composant classique, c'est à dire en allant dans le menu "Composant" de Delphi puis sur "Installer un composant...". On peut noter que la fenêtre "Installation de composants" est un aussi un expert.

Source / Exemple :


unit Expert;

//Programmé par Yoann
//http://delphipage.free.fr/

interface

uses
  Windows, ExptIntf, ShellAPI; //ShellAPI permet d'utitliser "ShellExecute"

type
 TMonExpert = class(TIExpert) //La classe "TIExpert" est la classe de base qui permet de construire un expert Delphi
 public
  function GetIDString: string; override; stdcall;
  function GetName: string; override; stdcall; //Renvoie un nom identifiant votre expert d'une maniere unique
  function GetStyle: TExpertStyle; override; stdcall; //Renvoie le type representation de l'expert "esStandard" (option dans le menu "Aide" de Delphi), "esForm" (option "Nouveau..." du menu "Fichier"), "esProject" (option "Nouveau..." du menu "Fichier") et "esAddIn" (insère des options de menu n'importe où)
  function GetMenuText: string; override; stdcall; //Renvoie le texte de l'option qui apparaitra dans le menu
  function GetState: TExpertState; override; stdcall; //Renvoie les valeurs "esChecked" (coche l'option) et "esEnabled" (l'option est disponible)
  procedure Execute; override; stdcall; //Lance l'expert (n'est pas appelé lorsque le style est "esAddIn")
 end;

{Suivant le style de l'expert, certaines fonction ne sont pas appelés.
Dans notre cas, c'est à dire le style "esStandard", les fonctions GetAuthor,
GetComment, GetPage et GetGlyph ne sont jamais appelés. Il n'est donc pas
nécessaire de les mettre.}

procedure Register;

implementation

procedure Register;
begin
RegisterLibraryExpert(TMonExpert.Create); //Enregiste l'expert
end;

function TMonExpert.GetIDString:string;
begin
result:='Delphipage.Expert';
end;

function TMonExpert.GetName:string;
begin
result:='Delphipage';
end;

function TMonExpert.GetStyle:TExpertStyle;
begin
result:=esStandard;
end;

function TMonExpert.GetMenuText:string;
begin
result:='Delphipage';
end;

function TMonExpert.GetState:TExpertState;
begin
result:=[esEnabled];
end;

procedure TMonExpert.Execute;
begin
ShellExecute(0,'open',PChar('http://delphipage.free.fr/'),nil,nil,SW_SHOW); //Lance le navigateur par défaut à l'adresse indiqué
end;

end.

Conclusion :


Plus d'information : http://delphipage.free.fr/

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.