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

Langage Delphi Discussion :

Besoin d'aide pour convertir un code python


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut Besoin d'aide pour convertir un code python
    Bonjour

    Tout est dans le titre. Voici le bout de code que je dois le traduire en pascal/delphi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Callback():
        _public_methods_ = ['SetStatusText']
        _reg_progid_ = "MapInfo.PythonCallback"
        _reg_clsid_ = "{14EF8D30-8B00-4B14-8891-36B8EF6D51FD}"
        def SetStatusText(self,status):
            print status
    Il est clair qu'il s'agit d'une classe avec une seule méthode mais quand est-il des autres membres ?
    Et comment faire pour avoir le clsid avant de le mettre dans la classe ?

    Merci pour toute aide.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    C'est surtout pourquoi vouloir traduire ça ?

    Si tu veux un échange d'objet entre Delphi et Python ?
    C'est des interfaces IUnknown ? du OLE ?
    Il te manque plus de description de type, qu'est ce Sefl ? Status ? Print Status ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    { interface declarations }
      ICallbacks = interface
        ['{14EF8D30-8B00-4B14-8891-36B8EF6D51FD}']
     
       function SetStatusText(self :?; status: ?): print status ?

    Si il n'y a pas de lien entre Delphi et Python, la traduction brute n'a surement aucun intérêt, tu devrais repartir sur le besoin initial
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Tout d'abord merci pour la réponse.
    Citation Envoyé par ShaiLeTroll Voir le message
    C'est surtout pourquoi vouloir traduire ça ?[/CODE]
    Dans une application personnalisation du SIG MapInfo je bute sur la manière de récupérer quelques infos utiles telle que coordonnées et simulation d'un clique. Le seule moyen étant d'utiliser le Callbacks et la méthode elle est décrite ici en utilisant Python.

    Citation Envoyé par ShaiLeTroll Voir le message
    Si il n'y a pas de lien entre Delphi et Python, la traduction brute n'a surement aucun intérêt, tu devrais repartir sur le besoin initial
    Comme je l'ai décrits plus haut, je n'ai aucun moyen d'avoir la main sur MapInfo une fois instancié et visualisé dans un Panel. Pour ce faire, MapInfo suggère l'utilisation de Callbacks.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    MapInfo + Delphi sur Google donne des résultats, c'est la dessus que je partirais

    Genre un TUTORIEL : Pilotage de MapInfo par Delphi

    C'est bien de l'OLE
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    MapInfo + Delphi sur Google donne des résultats, c'est la dessus que je partirais

    Genre un TUTORIEL : Pilotage de MapInfo par Delphi

    C'est bien de l'OLE

    Bonjour et merci ... tout les liens sont dirigés vers l'article que vous citez qui n'est autre que le mien justement je suis à cette limite.

    D'ailleurs en remontant le code source python j'ai trouvé un code en VB qui décrit toute la démarche mais j'ai le même problème conversion VB-Delphi.

    Prenons ça comme exemple :

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Const DECIMAL_SEPARATOR_FR As Char = ","c
    Private Const DECIMAL_SEPARATOR_US As Char = "."c    ' separator used by Mapinfo coordinates
     
    Public Class ClasseOLE
        Const MAPINFO_OLE_STRING_LENGTH As Short = 7
        Const MAPINFO_OLE_HEADER As String = "MI"
     
        Public Event StatusBarChanged(ByVal sbText As String)
     
        Public Sub SetStatusText(ByVal status As String)
            RaiseEvent StatusBarChanged(status)
        End Sub
    End Class

    comment le traduire en Delphi ?

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    C'est surement du SinkEvent OLE, l'écrire à la main n'a rien de plaisant
    Normalement l'importateur ActiveX génère tout ça très bien tout seul

    Il faut les interfaces avec les GUID et les numéros de fonction dispid
    Il faut produire un objet implémentant les interfaces Event et les ajouter au EventDispatcher ou ce "SetCallback" qui semble plutôt intéressant, il doit prendre en paramètre une interface de type IDispatch
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Besoin d'aide pour optimiser du code
    Par scaleo dans le forum Langage
    Réponses: 1
    Dernier message: 07/01/2007, 13h56
  2. Réponses: 4
    Dernier message: 14/08/2006, 15h50
  3. [VB.NET] besoin d'aide pour déchiffrer un code
    Par pcdj dans le forum Windows Forms
    Réponses: 10
    Dernier message: 27/06/2006, 11h32
  4. Besoin d aide pour comprendre un code
    Par litlebasic dans le forum Delphi
    Réponses: 4
    Dernier message: 22/06/2006, 13h00
  5. Je besoin d'aide pour terminer mon code
    Par Paulinho dans le forum C++
    Réponses: 7
    Dernier message: 06/11/2005, 23h30

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