IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Appel des fonctions d'une unité


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 44
    Par défaut Appel des fonctions d'une unité
    Bonsoir

    Voici la partie interface d'une unit, trouvée sur internet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    interface
     
    type
      {$ifdef WINDOWS}
      size_t = Word;
      {$else}
      size_t = LongInt;
      {$endif}
     
    type
      TTranslationTable = array[char] of char;  { translation table }
     
      TSearchBM = class(TObject)
      private
        FTranslate  : TTranslationTable;     { translation table }
        FJumpTable  : array[char] of Byte;   { Jumping table }
        FShift_1    : integer;
        FPattern    : pchar;
        FPatternLen : size_t;
      public
        procedure Prepare( Pattern: pchar; PatternLen: size_t; IgnoreCase: Boolean );
        procedure PrepareStr( const Pattern: string; IgnoreCase: Boolean );
        function  Search( Text: pchar; TextLen: size_t ): pchar;
        function  Pos( const S: string ): integer;
      end;
    Venu du TP7, je ne sais pas comment l'appeler depuis mon application en mode console.

    Pouvez-vous me conseiller, merci d'avance.

    [Balises CODE rajoutées par Pedro. Merci d'y penser à l'avenir]

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    Il te suffit d'ajouter l'unité dans laquelle tu as ce code dans la clause uses de l'unité où tu veux l'utiliser.
    Ensuite, C'est une classe, il faut donc la créer et à la fin, la libérer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var SearchBM: TSearchBM;
    begin
      SearchBM := TSearchBM.Create;
      try
        SearchBM.Machin(Truc);
        SearchBM.Bidule;
      finally
        SearchBM.Free; //Ou Destroy si tu es  sûr de ton coup
      end;
    end;
    Le fait que cela soit une appli console ou non n'empêche en rien le fonctionnement de cette classe (enfin du moins avec le code que tu montres )
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 44
    Par défaut
    Merci beaucoup Pedro pour ton aide;

    Mais, excuse moi:je suis novice et je ne comprend pas pourquoi appeler deux fois SearchBM: une fois avec un paramètre et sa variable et la deuxième fois sans variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .....
     try
        SearchBM.Machin(Truc);
        SearchBM.Bidule;
      finally
    ......
    Est-ce simplement un exemple ou y a-t-il une raison particulière?

    Merci

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par TheBigMac
    Est-ce simplement un exemple ou y a-t-il une raison particulière?
    Non c'est un exemple Il signifie qu'une fois la classe créée, tu peux utiliser toutes ses méthodes membres

    Si ton sujet est résolu, merci de cliquer sur
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 44
    Par défaut
    Merci Pedro.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel des fonctions d'une DLL
    Par Ender dans le forum VBScript
    Réponses: 1
    Dernier message: 11/11/2011, 13h20
  2. Appeler des fonctions d'une page à l'autre
    Par kopros2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/09/2011, 16h58
  3. appeler des methodes depuis une fonction :-(
    Par membreComplexe12 dans le forum C++
    Réponses: 11
    Dernier message: 19/01/2011, 14h05
  4. appelle des fonctions dans une autre
    Par bennkabazz dans le forum Requêtes
    Réponses: 0
    Dernier message: 01/12/2008, 15h40
  5. Réponses: 2
    Dernier message: 19/09/2006, 19h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo