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

Résolu
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

  1. Modérateur
    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
    1. la partie begin end ; apres "interface" et " implementation" elle sert a quoi au juste ?
      merci d'avance!
      0
    2. Modérateur
      @watouEn 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
  2. c'est urgent svp, merci de votre aide
    0