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 :

CRC Control in vb.Net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 76
    Par défaut CRC Control in vb.Net
    Bonjour,
    Désolée de vous déranger encore.
    Je travaille sur une application en vb.Net qui se connecte aux modems GSM par les ports série,Je veux donc appliquer un contrôle sur les trames reçues(CRC control),en vba j'ai utilisé un Activex qui s'appelle CrcCtrl.ocx (il n'existe plus !) et je l'ai utilisé comme ceci :
    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
     crcSnd = DoCRC1(bTemp)
        crcSnd1 = Int(crcSnd / 256)
        crcSnd2 = crcSnd - (crcSnd1 * 256)
    '..................
     crcCalc = DoCRC2(bRcv)
                crcCalc1 = Int(crcCalc / 256)
                crcCalc2 = crcCalc - (crcCalc1 * 256)
    '........................
    Function DoCRC1(ByVal payLoad As Variant)
        On Error Resume Next
        CrcCtrl1.CRCType = 3 ' set which algorithm to use - vb pops up valid types!
        CrcCtrl1.DoCRCVar payLoad ' do the calculation, without a seed, ie not split up
        DoCRC1 = CrcCtrl1.GetCRCDecStr ' display the result in a label
        'MsgBox (CrcCtrl1.GetCRCHexStr & CrcCtrl1.GetCRCDecStr)
    End Function
    Function DoCRC2(ByVal payLoad As Variant)
        On Error Resume Next
        CrcCtrl2.CRCType = 9 ' set which algorithm to use - vb pops up valid types!
        CrcCtrl2.DoCRCVar payLoad ' do the calculation, without a seed, ie not split up
        DoCRC2 = CrcCtrl2.GetCRCDecStr  ' display the result in a label
    End Function
    Je veux une méthode à le faire en vb.Net sans utiliser les Activex,juste avec une bibliothèque vb ou avec une fonction
    Merci d'avance

  2. #2
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 76
    Par défaut
    Bonjour ,
    pour plus de détails je vais joindre carrément le dossier de l'Activex CrcCtrl.ocx qui contient les fonctions, si quelqu'un pourra me montrer comment trouver un équivalent pour vbNet.
    Fichiers attachés Fichiers attachés

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    tu peux l'utiliser en .net, le seul truc c'est qu'à l'installation il faut copier l'ocx dans system32 et le registrer (regsvr32)

    au niveau du projet il faut ajouter une référence vers l'ocx
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 76
    Par défaut
    Merci Pol63,
    Justement,je peux pas l'utiliser,parce qu'il existe plus,et il marche pas sous windows 7,donc je cherche une fonction en vb.Net qui fera le même travail.et voici la description des deux algorithmes utilisés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    3: CRC16 
    Fairly widely used CRC, it expressed as x^16,15,2,0. This algorithm has a precalculated lookup table and is done in assembly.
     
    9: CCITT16 Reversed
    As 8, 16 x^16,12,5,0, without the twist. This algorithm has a precalculated lookup

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    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 197
    Par défaut
    "il existe plus"
    on ne peut pas vraiment dire ca, je ne pense pas que cet ocx était fournit avec vb6 (mais je peux me tromper)
    si tu as le fichier tu peux l'utiliser

    utiliser des ocx en .net est déconseillé mais pas interdit, et dans certains cas ca ne pose pas de problème

    par contre sous windows 7 et autres os x64 il faut que le programme tourne en x86 pour pouvoir utiliser des dll/ocx 32 bits
    ca se change dans les propriétés du projet, onglet compiler, bouton options avancées de compilation, remplacer AnyCpu par x86

    après si tu sais ce que fais concretement cet ocx il suffit de recoder, tu peux aussi chercher un décompilateur d'ocx pour récupérer le code source de l'ocx et l'adapter à .net


    EDIT : vu que tu as les noms des normes de CRC que tu utilises tu peux trouver le code .net qui avec sur le net
    googler CRC16 c# et CCITT16 Reversed c# (il y a plus de sources sur c# que sur vb.net)
    et après tu passes le code c# dans un convertisseur vb.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 76
    Par défaut
    Pour le ocx je veux m'en débarrasser,car j'ai essayé de le faire marcher mais il y a beaucoup de problème.
    J'ai chercher sur Internet, mais il y a beaucoup de codes différents,je n'arrive pas à trouver c'est lequel le bon, j'ai trouvé un code sur ce site:
    http://www.drdobbs.com/implementing-...ndan/199904926
    je pense il est bon mais je ne suis pas sûr car je ne peux pas le tester pour le moment.Si tu peux me dire est-ce qu'il est convenant à la description des deux algorithmes que j'ai donné ça sera pas mal( vu que tu es plus expert que moi)
    Merci

Discussions similaires

  1. Réaliser un web tab control sous asp.net 1.1
    Par ouadie99 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 19/02/2009, 17h43
  2. Utiliser le data control en vb.net ?
    Par GriffinK dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/02/2008, 11h53
  3. configuration du grid control sous vb.net 2003
    Par bulmish dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2008, 12h21
  4. Réponses: 3
    Dernier message: 24/07/2007, 14h06
  5. control [openfiledialog] (asp.net)
    Par tsdia2 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 12/04/2007, 19h52

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