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 .NET Discussion :

simuler des template C++ en delphi dotnet ?


Sujet :

Delphi .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 49
    Points
    49
    Par défaut simuler des template C++ en delphi dotnet ?
    Bonjour, je cherche à porter un code que j'avais fait en C++ en delphi.net.

    Mon souci majeur réside dans le portage de mes templates C++, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    template <typeName queue, int width, bool local = true>
    class calculateur {...};
    me permettait de définir différents types de calculateurs avec un typdef, du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef calcul::calculateur <dateComp::sym::ExtQueue, 12, false> inverseurAGPot
    une petite idée de comment porté ce genre de chose en delphi .net ?

    Cordialement,

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    La chose qui, pour moi, s'approche le plus des templates C++ c'est les génériques. Que ce soit en Delphi ou .NET en général.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Aka Guymelef Voir le message
    Bonjour,

    La chose qui, pour moi, s'approche le plus des templates C++ c'est les génériques. Que ce soit en Delphi ou .NET en général.
    Effectivement, pour moi aussi. Déjà je peux simuler le "typename" queue
    en utilisant une interface IQueue de tous les types de queues, le problème reviens alors à porter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template <int width, bool local = true>
    class calculateur {...};
    Le problème est que je ne peux pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    type 
    Calculateur<width : Int32, local: Boolean> = class
    Calculateur1 = Calculateur <2, false>;
    Calculateur2 = Calculateur <3, true>
    Une idée pour simuler ça avec la généricité ?

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Mmmh et bien sans être sûr de la syntaxe je dirais que tu définis une classe de base qui fait les traitements que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type
      TCalculateur<W, L> = class
        [...]
      end;
    Puis après tu peux définir tes types prédéfinis ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    type
      TCalculateur1 = class TCalculateur<Int32, Boolean>
      end;
    Néanmoins définir des classes avec des valeurs particulières je penses que ce n'est pas possible en Delphi comme en .NET.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    Effectivement, il ne semble pas possible de définir des classes avec des valeurs particulière.

    Finalement, à titre indicatif et pour ceux que ça intéresse, j'ai contourné mon problème en utilisant des types génériques pour les paramètres typename des templates et j'ai fait autant de classes qu'ils n'y a de combinaison de valeurs possibles dans mon template (je me le suis permis car il y a peu de combinaisons). Sinon, une autre solution serait de transformer ces valeurs particulières de la classe du template en champ de la classe delphi.net équivalente.

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

Discussions similaires

  1. Macros : Possibilité simuler des templates ?
    Par TheDrev dans le forum Débuter
    Réponses: 6
    Dernier message: 22/04/2008, 16h06
  2. simuler des onclick d'une fiche autre que la présente
    Par bertrand_declerck dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2005, 10h04
  3. [D2005]Comment utiliser des assembly développées en delphi
    Par Valéry dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 16/08/2005, 18h36
  4. Simuler des actions au clavier
    Par dosbastos dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/05/2005, 15h58
  5. Recuperationd des Vues Interbase sous Delphi
    Par Andry dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/07/2004, 12h09

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