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

VB.NET Discussion :

Traduire du code C++ en VB.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Par défaut Traduire du code C++ en VB.net
    Bonjour,

    Je dois "piloter" un lecteur RFID branché sur un port COM.
    Je dois lire des cartes RFID contenant un simple numéro.

    En exemple, j'ai une appli dévellopée en C++, et je dois insérer cette lecture de carte dans une appli existante dévellopée en VB.NET.

    Mon code VB.NET compile, s'exécute mais ne retourne aucune valeur.Je précise que l'ouverture du port com ne pose aucun problème.

    Voici le code C++:

    SunComm.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern "C" __declspec(dllexport) int __stdcall CommRead(int index, int  *id, char *function, char *data);
    Main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void __fastcall TFrmMain::Timer1Timer(TObject *Sender)
    {
        int         i;
     
        if (CommRead(0,&i,Func,Data) != 0)
        {
            LRece->Caption = AnsiString(Func) + " " + AnsiString(Data);
            if (StrLen(Data) == 17) EUID->Text = AnsiString(Data+1);
            else                    EUID->Text = "";
            Count = 5;
        }
        else
            if (--Count == 0) LRece->Caption = "";
    }
    Voici mon code:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Imports System.Runtime.InteropServices
     
    Module TestRFID
        <DllImport("C:\DEV\TestRFIDCaisse\TestRFIDCaisse\SunComm.dll",
    CallingConvention:=CallingConvention.StdCall, CharSet:=CharSet.Unicode)>
        Public Function CommRead(ByVal idx As Integer, ByRef ID As Integer, _
        <MarshalAs(UnmanagedType.VBByRefStr)> ByRef Functio As String, _
        <MarshalAs(UnmanagedType.VBByRefStr)> ByRef DataR As String) As Long
        End Function
    End Module
     
    Imports System.Runtime.InteropServices
     
    Public Class Form1
     
        Public Func As New String(vbNullChar, 10)    
        Public DataL As New String(vbNullChar, 100)
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Dim truc = New Long
            Dim i As Integer = 1
            Dim j As Integer = 0
            Dim machin As String = ""
            Dim machin2 As String = ""
     
            truc = CommRead(0, i, Func(0), DataL(0))
     
    	For j = 0 To 100 - 1
                MsgBox(j & " " & Asc(DataL(j)))
                machin = machin & Convert.ToString(DataL(j)) 
            Next
            For j = 0 To 10 - 1
                machin2 = machin2 & Convert.ToString(Func(j)) 
            Next
        End Sub
    End Class
    Je fais une réservation en mémoire parce que la fonction ne peux pas elle même écrire en mémoire si la place n'est pas réservée.

    Mes tableaux Datal et Func qui devraient contenir une valeur de retour sont vides.

    Désolée pour les variables machin et truc, j'ai manqué d'inspiration...je mettrais de vrais nom de variable quand j'intégrerai mon code dans ma vraie appli.

    Quelqu'un pour m'aider?

    Merci

    Fabienne

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Ben il faut mettre le bidule dans truc avec le mode 7 en configuration smart.

    Bonne chance pour avoir une reponse avec les machins, des personnes repondront lorsque ce sera mis dans la vraie appli .

    Serieusement un debut d'effort ce serai cool.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    il y a ce qu'il faut en .net pour dialoguer sur un port com
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Nouveau candidat au Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Par défaut
    Citation Envoyé par mermich Voir le message
    Salut,

    Ben il faut mettre le bidule dans truc avec le mode 7 en configuration smart.

    Bonne chance pour avoir une reponse avec les machins, des personnes repondront lorsque ce sera mis dans la vraie appli .

    Serieusement un debut d'effort ce serai cool.
    Un début d'effort pour arrêter d'écraser tout le monde serait bien aussi. Si tu n'es pas capable d'aider, ne répond pas. merci

    Je ne modifierai mon appli existante uniquement lorsque cet test sera concluant.

  5. #5
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Citation Envoyé par FabDup87 Voir le message
    Un début d'effort pour arrêter d'écraser tout le monde serait bien aussi. Si tu n'es pas capable d'aider, ne répond pas. merci

    Je ne modifierai mon appli existante uniquement lorsque cet test sera concluant.
    Et tu fais très bien.

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Pour ce genre de truc normalement on utiliser des dll ou de l'interrop avec COM afin de réutiliser l'existant et non pas une "copie / colle / traduction". Sauf dans le cas ou l'application "de base" est clairement abandonnée et plus supportée à futur.

Discussions similaires

  1. Traduire un code ActionScript en Vb.NET
    Par Jilakin dans le forum VB.NET
    Réponses: 0
    Dernier message: 23/12/2012, 01h57
  2. traduire un code vba vers vb.net
    Par houssine77100 dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/11/2010, 13h15
  3. traduire un code C# en VB.NET
    Par 9277463 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/09/2009, 22h25
  4. [VB.NET] traduire ce code CS
    Par Eclix dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/07/2006, 23h22
  5. []Traduire un code barre alphanumérique en nombre
    Par iskandhar dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 21/08/2005, 21h17

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