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

Java Discussion :

convertir une ligne c++ en java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut convertir une ligne c++ en java
    Bonjour,

    je cherche à convertir cette ligne de code c++ en java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef int (*td_fn_LoadingProgress)(int,void*);
    Merci bcp

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    typedef + pointeur de fonction (si mes souvenirs ne me trompent pas) ? Cela ne va pas etre possible directement.

    Dans le pire des cas on devrait s'en sortir avec la creation d'un nouveau type mais il faudra aussi modifier le code ailleurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface FuncCpp {
      public int td_fn_LoadingProgress(int a, Object b);
    }
    ou une classe du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class FuncCpp {
      public int td_fn_LoadingProgress(int a, Object b) {
         return 0; 
      }
    }
    Evidement avec des closures ca serait plus simple:
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    je fais comment dans le cas de pointeur sur matrice ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DcmData ** p_dcmdata;
     
    (*p_dcmdata)->DeleteAllElts();
    tel que DcmData est une classe, et DeleteAllElts est une méthode comprise dans cette classe.

    en java du moment qu'il n'ya pas de pointeurs je fais comment ?? j'ai déjà essayé
    mais ça marche pas ???????

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Que veux tu dire par ça ne marche pas?
    Quel est l'erreur sortie?

  5. #5
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    Citation Envoyé par sinok Voir le message
    Que veux tu dire par ça ne marche pas?
    Quel est l'erreur sortie?
    la ligne où je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p_dcmdata.DeleteAllElts();
    est soulignée en rouge, la méthode n'est plus reconnue, cette ligne est aussi incorrecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p_dcmdata = new DcmData();

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Tu ne veux pas donner tout ton code (du moins la partie utile) car c'est difficile à comprendre.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est normal puisque tu as déclaré cela comme un tableau...

    Tu dois appeler la méthode sur un (ou plusieurs) élément(s) du tableau.



    Mais plus globalement, entre ce message et l'autre sur la libération de mémoire, j'ai l'impression que du cherche à coder en C++, mais en Java.

    En gros tu as l'habitude de faire "comme cela" en C++, et tu veux faire la même chose en Java.

    A mon avis c'est une grosse erreur, car malgré une syntaxe relativement proche, les concepts et les notions misent en place par les deux langages sont très différentes. Et ce qui est adapté à l'un ne l'est pas à l'autre...


    Tu ne devrais pas te poser la question de savoir comment "traduire" du C++ en Java !

    Tu devrais plutôt détailler ce à quoi tu veux aboutir (qu'est-ce que tu veux obtenir ?), et voir comment tu le ferais en Java.


    a++

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    J'ai dut mal a comprendre la question, d'ou ma reponse est probablement hors sujet mais je tente quand meme...

    Avec l'API Reflection, tu pourrais peut etre te sortir de cette situation.

    Tu px utiliser l'objet Method (qui est une "sorte de pointeur" et qui pointera vers une vrai methode d'une classe).

    Ensuite utilise invoke pour realiser l'appel.

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class DcmData
    {
    	public void DeleteAllElts(int a, Object b)
    	{
    		System.err.println("J'efface les elements ?! "+a+" - "+b);
    	}
    }
    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
     
    public class main
    {
    	public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
    	{
    		// Methode normale
    		DcmData p_dcmdata = new DcmData();
    		p_dcmdata.DeleteAllElts(0, "toto");
     
    		// En utilisant une sorte de "pointeur" (je mets vraiment les guillemets en esperant correction).
    		DcmData ptr_dcmdata = p_dcmdata;
    		Method method_pseudo_ptr = p_dcmdata.getClass().getMethod("DeleteAllElts", int.class, Object.class);
    		method_pseudo_ptr.invoke(p_dcmdata, 0, "TOTO");
     
    	}
    }
    Mais bon ne sachant pas trop ton but je tappe vraiment au pif
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    Citation Envoyé par wax78 Voir le message
    J'ai dut mal a comprendre la question, d'ou ma reponse est probablement hors sujet mais je tente quand meme...
    ma question est la suivante :
    j'ai un objet déclaré en c++ de la sorte :
    les appel de l'objet sont bien évidemment de la sorte qu'il s'agit d'un pointeur sur matrice, en particulier les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (*p_dcmdata)->DeleteAllElts();
    *p_dcmdata = new DcmData();
    je cherche à convertir ceci en java, et comme en java il n'y a pas notion de pointeur

  10. #10
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    J'ai l'impression pour ton problème que :

    Adiguba m'a précedé
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Convertir une ligne en polygone texturé
    Par JohnSmith dans le forum SDL
    Réponses: 5
    Dernier message: 21/03/2007, 18h46
  2. traçage d'une ligne en java
    Par guimen dans le forum Graphisme
    Réponses: 1
    Dernier message: 15/05/2006, 21h38
  3. Comment lancer une ligne de commande dans un processus en Java.
    Par doyouknow56 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 13/05/2006, 11h55
  4. [APPLET] convertire une application JAVA en applet
    Par wickramben dans le forum Applets
    Réponses: 1
    Dernier message: 13/04/2006, 10h01

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