[Dev-Pascal] utilisation d'une unité?

[Résolu/Fermé]
Signaler
-
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
-
Bonjour,
je voudrais créer une unité sur dev-pascal mais l'unité reste toujours en .pas, donc quand je la met dans le programme ça me met "can't find unit affichage"
je suis novice dans le domaine de création d'unités :'(
merci beaucoup pour votre aide

2 réponses

c'est urgent svp, merci de votre aide
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
Bonjour, il est normal que ton unité 'affichage' soit en .pas, toutefois pour qu'elle soit opérationnelle il te faut :

1. Commencer ton unité 'affichage.pas' par :

unit affichage;

interface
//contenu de l'interface

implementation
//contenu de l'implémentation

begin end.

2. Dans l'interface tu mets les entêtes des fonctions, procédures, types, constantes... que tu veux pouvoir utiliser en dehors de l'unité.
Dans l'implémentation tu mets le code correspondant à chacun des élément de l'interface (remarque, tu peux créer des éléments intermédiaires pour les faire marcher, mais ils ne seront disponible en dehors de l'unité que si tu les as déclarées dans l'interface)
Si tu es novice dans les unités, tu n'auras pas à mettre de code entre begin et end.

3. Pour utiliser ton unité, place là dans le même dossier que ton programme principal, puis tu dois appeler ton unité juste après avoir nommé ton programme :

program nom; uses affichage;

//déclarations des fonctions et procédures

begin
end.

4. Compiler le tout...
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
27
la partie begin end ; apres "interface" et " implementation" elle sert a quoi au juste ?
merci d'avance!
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879 >
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013

En fait c'est qu'il est possible d'exécuter des procédures d'initialisation lors de la compilation d'une unité...

Exemple (bidon) :
unit lettres;

interface

type alphabet=array[1..26] of char;
var minuscule,majuscule:alphabet;

implementation

var i:integer;
begin
for i:=1 to 26 do
    begin
    minuscule[i]:=chr(ord('a')+i-1); // ('a','b','c',...,'z')
    majuscule[i]:=chr(ord('A')+i-1); // ('A','B','C',...,'Z')
    end;
end.
Ici on aurait peut-être pu faire autrement pour initialiser minuscule et majuscule mais c'est plus simple de le faire entre le begin end.