vendredi 7 janvier 2000

Squelette

SQUELETTE

Type de fichier

Delphi génère plusieurs fichiers en voici quelques uns
Type Création Nécessaire pour compiler Description
DPR développement oui Projet (programme principal)
PAS développement oui Source des units
DCU compilation non Units compilées
EXE compilation non Code exécutable de l'application
DFM développement oui Contient la description des propriétés d'une fiche et des contrôles qu'elle contient
RES développement oui Fichier binaire associé au projet. Contient l'icon par défaut. Plusieurs fichiers RES peuvent être ajoutés au projet
~PA développement non Copie de sauvegarde du PAS correspondant
~DP développement non Copie de sauvegarde du DPR correspondant
~DF développement non Copie de sauvegarde du DFM correspondant

D'autres fichiers peuvent être générés par delphi, nous allons nous concentrer sur les deux types de fichiers les plus utilisés par les programmeurs

Fichier source

program Project1;
  uses
  Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES} 
begin 
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); 
  Application.Run;
end.
Ce code est généré par delphi et ne devrait pas être modifié par le programmeur débutant.
L'application est initialisée, la fiche principale est créée et l'application s'exécute. C'est dans ce source qu'on peut empêcher delphi de créer notre formulaire au démarage de l'application.

Unité pascal

C'est ici que le programmeur travaille
unit Unit1; 
interface 
uses 
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
Dialogs; 
type 
TForm1 = class(TForm) 
private 
{ Private declarations }
public { Public declarations } 
end;
var 
Form1: TForm1; 
implementation 
{$R *.DFM} 
end. 

Section uses

Remarquez le mot «use» dans le code, il spécifie les unités extérieures pointées par cette unité. Le uses équivaut au include du langage C
Ce code montre les principales unités utilisées.

Les composants qu'on ajoute sur la fiche, inscrivent automatiquement dans la partie «use» l'unité externe auxquelles ils ont besoin pour fonctionner correctement.
En ajoutant le composant wordapplication de l'onglet server, les unités OleServer, Word97 sont automatiquement inscrites dans la partie «use» de l'unité.

Section interface

La partie interface d'une unité sert à spécifier les identifiants extérieurs de l'unité, ça peut être un objet, fonction,procédure. On déclare les variables, classes, fonction et procédure dans cette section. Les éléments de cette partie sont accessibles aux autres unités.

Le mot «implementation» termine cette partie. La partie« implementation» contient directement le contenu des fonctions et procédures. C'est là qu'on inscrit le code.
unit Unit1;

interface

  uses Windows, Messages, SysUtils, Classes, Graphics, 
  Controls, Forms, Dialogs, OleServer, Word97, StdCtrls; 

type
  TForm1 = class(TForm) 
private { Private declarations } 
public { Public declarations } 

end;

function ajouter(x,y:double):double; 

var Form1: TForm1;

implementation 
{$R *.DFM}

function ajouter(x,y:double):double; 
begin 
   result := x+y;
end; 
end.

Plusieurs formulaires

Utiliser plusieurs formulaires devient vite essentiel lors du développement d'une application. Si on veut utiliser les variables, fonction, procédure.... d'un autre formulaire, on doit spécifier dans le uses du formulaire le nom de l'unité voulant être utilisée.

Exemple, on a une unité appelée uMain et une autre uMath. On veut utiliser une variable quelconque de uMath dans uMain. Il suffit d'inscrire uMath dans le uses de uMain.

Si on voudrait utiliser une variable de uMath dans uMain et vice versa, on pourrait seulement inscrire une des deux unités dans le uses et l'autre serait inscrite après le mot implentation de l'unité.