Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
ACCUEIL PASCAL FORUM PASCAL F.A.Q PASCAL TUTORIELS PASCAL SOURCES COMPILATEURS OUTILS LIVRES

Les unités Pascal

 

Sommaire :

Introduction (revenir au Sommaire) :

A force de programmer, on remarque qu'on tape souvent la même chose, ou alors on arrive à des projets d'une taille trop importante (du style plus de 1000 lignes de code), celà devient ingérable. Une unité est tout simplement une liste de procédures et de fonctions qui sont réutilisables par d'autre programme. C'est un peu comme les fichiers "include" qui sont simplement insérés dans le code source. Le concept d'unité est difficile à comprendre pour les jeunes programmateurs, mais elles s'avèreront rapidement indispensables ! Stopons cette introduction qui tourne en rond, et passons au concret :

Comment programmer sa propre unité (revenir au Sommaire) :

La structure d'une unité doit TOUJOURS être de cette forme :

unit NomDeUnite; { Le nom doit être le même que celui du fichier, donc il est limité à 8 caractères }

interface { mot clé introduisant les données et fonctions qui seront accessibles par tout programme utilisant cette unité }
const UneConstante = 10; { Exemple de constante }
var MaVariable: Word; { Exemple de variable }
function MaFonction (txt: String) : String; { Exemple de fonction. ATTENTION, on ne fait que la déclarer, le code source doit être placé après "implementation" }
procedure MaProcedure (var Nombre: Integer); { Exemple de procédure. ATTENTION, on ne fait que la déclarer, le code source doit être placé après "implementation" }

implementation { mot clé introduisant les données et fonctions uniquement accessibles dans cette unité }
const ConstantePrive = 2; { définition d'une constante accessible uniquement dans cette unité }
var VariableInutile: LongInt; { Exemple de variable privée }

function MaFonction (txt: String) : String; begin
MaFonction := "Paramètre =>"+txt+"<"; { Le code de ma fonction }
end;
procedure MaProcedure (var Nombre: Integer); begin
Nombre := Nombre*Nombre; { Renvoie le carré du nombre }
inc (MaVariable,ConstantePrive);
end;

{ Pas obligatoire, mais on peut initialiser une unité avec des procédures }
begin
MaVariable := 0; { Initialise ma variable }
end.

Il ne reste plus qu'à compiler l'unité avec la combinaison de touche ALT GR+F9. Remarque : Elle sera écrite dans le répertoire EXE & TPU (Options / Directories ...) au format .TPU (pour Turbo Pascal 7, ou .TPP pour Turbo Pascal 6). Si vous n'avez pas définit de répertoire, créez en un dans votre répertoire Turbo Pascal, "C:\TP\EXE_TPU" par exemple, puis définissez-le (allez dans Options/Environnement/Preference et cochez les 3 "auto save" pour sauvegarder automatiquement vos options puis "Options/Save ... .tp".

Utilisation d'une unité (revenir au Sommaire) :

Maintenant, n'importe quel programme peut utiliser votre unité avec l'instruction "uses NomUnite;". Exemple :

uses NomUnite;
var N: Word;
begin
Writeln (MaVariable);
Writeln (MaFonction ('salut'));
N := 5;
MaProcedure (N);
Writeln (5,' -> ',N);
end.

Par contre "N := MaConstantePrive;" provoquerait une erreur de compilation : "variable inconnue" !

Voilà, à vous de programmer votre propre unité.

Retour aux tutoriels

Par Haypo

Responsable bénévole de la rubrique Pascal : wormful_sickfoot - Contacter par EMail :
Vos questions techniques : forum d'entraide Pascal - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.