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

Résolu/Fermé
genie - 23 mai 2008 à 11:17
KX Messages postés 16605 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 6 octobre 2022 - 27 juin 2008 à 15:37
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
0
KX Messages postés 16605 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 6 octobre 2022 2 975
2 juin 2008 à 23:50
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...
0
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
27 juin 2008 à 12:36
la partie begin end ; apres "interface" et " implementation" elle sert a quoi au juste ?
merci d'avance!
0
KX Messages postés 16605 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 6 octobre 2022 2 975 > watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013
27 juin 2008 à 15:37
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.
0