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 :

Convertir VB6 -> Vb.net Open App.Path & "\Fichier.dll" For Random As #NumFile


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut Convertir VB6 -> Vb.net Open App.Path & "\Fichier.dll" For Random As #NumFile
    je suis en train de migrer une application VB vers VB.net.

    j'utilise des type imbriqué j'ai converti les types en structure mais je me retrouve avec le message d'erreur 'Nombre non négatif requis. Nom du paramètre*: count'

    je vous joint les 2 code j'ai bien évidement une lacune mais????
    Code VB6 : 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
    Type MyLicGene
        Societe As String
        Tous As String
        AficheFrm As String
        DateDeb As String
        DateExecuter As String
        DateFin As String
        Enregistre As String
        NbJeton As String
        NbJetonActif As String
    End Type
     
    Type MyLic
        Serial As String
        PassWord As String
        UserName As String
        Enregistre As String
    End Type
    Type Licence
        Count As Long
        General As MyLicGene
        Record() As MyLic
    End Type
     
    Type MyDb
         UserDb As String
        PassWordDb As String
    End Type
    Public PassDb As MyDb
     
    Public FiledLicence As Licence
     
    Open App.Path & "\Fichier.dll" For Random As #NumFile
    Get #NumFile, , FiledLicence
     
    Close #NumFile
    Code Vb.net 2010 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim strContents As New Licence
     FileOpen(file_num, FullPath, OpenMode.Random, OpenAccess.ReadWrite, OpenShare.LockReadWrite, Len(strContents) - 1)
            Dim objReader As StreamReader
            Try
                Do While Not EOF(1)
                    FileGet(file_num, strContents, 1) 'Err:= Nombre non négatif requis. Nom du paramètre*: count
    
                Loop

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par rdurupt Voir le message
    je suis en train de migrer une application VB vers VB.net.

    Code Vb.net 2010 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Dim strContents As New Licence
     FileOpen(file_num, FullPath, OpenMode.Random, OpenAccess.ReadWrite, OpenShare.LockReadWrite, Len(strContents) - 1)
            Dim objReader As StreamReader
            Try
                Do While Not EOF(1)
                    FileGet(file_num, strContents, 1) 'Err:= Nombre non négatif requis. Nom du paramètre*: count
    
                Loop
    C'est juste à l'oeillomètre et pas testé.

    Puisque ton strContents est "new" et sans aucune donnée; J'ai comme l'impression que sa valeur est Null ou empty. Donc sa longueur est possiblement à zéro, et ton :

    vaut possiblement -1.

    Mais, comme j'ai dit, ce n'est pas testé. C'est juste de l'intuition.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Invité
    Invité(e)
    Par défaut Bonjour Clément ,
    oui c'est exactement ça je je fais Dim strContents As New Licence sur la structure donc l'objet est null.
    mais comme je veux récupérer les information contenues dans le fichier en fonction de cette structure (Record)??

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par rdurupt Voir le message
    oui c'est exactement ça je je fais Dim strContents As New Licence sur la structure donc l'objet est null.
    mais comme je veux récupérer les information contenues dans le fichier en fonction de cette structure (Record)??
    J'avoue que je n'ai jamais vraiment réussi à dompter les structures en VB.net. J'ai toujours l'impression qu'elles ne font pas ce que je voudrais qu'elles fassent.

    De mémoire, dans l'aide, ils parlent de faire comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public structure MachinChose
       dim alpha as string
       dim beta as string
       etc
    End structure
    puis ils ajoutent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim MachinChouette as MachinChose
    Donc, cela laisserait supposer qu'il faut utiliser MachinChouette pour travailler. Mais, il a toujours une raison de brailler.

    Je ne sais pas si tu as déjà lu cela, mais comme c'est gratuit, cela pourrait être utile à d'autres:

    http://msdn.microsoft.com/fr-ca/vstudio/ms788236

    Et, ils ont toujours cette (antique) page :

    http://msdn.microsoft.com/fr-ca/vstudio/ms788233
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Membre émérite 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 : 39
    Localisation : France, Saône et Loire (Bourgogne)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bonjour,

    Et oui, les "méthodes" VB6 ne sont pas forcement facile à transcrire.
    En .NET on a des outils comme la sérialisation de fichier XML qui permet de gérer tout ça (structure + data) sans se prendre la tête.

    Mais bon, en conservant votre système, en jetant un coup d’œil sur la MSDN sur FileOpen, ils donnent un exemple où il semble qu'il faille savoir la longueur au préalable.
    (peut être que je me trompe) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Structure Person
        <VBFixedString(30)> Dim Name As String 
        Dim ID As Integer 
    End Structure 
    Public Sub ExampleMethod()
        ' Count 30 for the string, plus 4 for the integer.
        FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
        ' Close before reopening in another mode.
        FileClose(1)
    End Sub
    http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  6. #6
    Invité
    Invité(e)
    Par défaut Bonjour,
    d’abord merci pour ces réponses,
    oui le xml est prévue dans la nouvelle version il es déjà implémenté et marche parfaitement.

    bien-sur la nouvelle application a fait l'objet d'une analyse dans le respect des différents couches métier, client et base de donnée; la redistribution des des formulaire (doublon pour case dévolution pour ne pas casser l'existant).

    mais en attendant la refonte total de l'application je veux que dans mes livrables une compatibilité logiciel vb6 vb.net.

    l'idée étant de substitué ma classe adapté de vb6 par celle vb.net en tant utile.

    j'ai même développé un DLL VB6 mais VB.net n'en veut pas.
    je regarde ces liens et je revient vers vous
    Citation Envoyé par mactwist69 Voir le message
    Bonjour,

    Et oui, les "méthodes" VB6 ne sont pas forcement facile à transcrire.
    En .NET on a des outils comme la sérialisation de fichier XML qui permet de gérer tout ça (structure + data) sans se prendre la tête.

    Mais bon, en conservant votre système, en jetant un coup d’œil sur la MSDN sur FileOpen, ils donnent un exemple où il semble qu'il faille savoir la longueur au préalable.
    (peut être que je me trompe) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Structure Person
        <VBFixedString(30)> Dim Name As String 
        Dim ID As Integer 
    End Structure 
    Public Sub ExampleMethod()
        ' Count 30 for the string, plus 4 for the integer.
        FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
        ' Close before reopening in another mode.
        FileClose(1)
    End Sub
    http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx

  7. #7
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    J'ai parcouru le sujet un peu en diagonale mais il semblerait que tu cherches à lire un fichier à champs de largeur fixe.
    Dans ce cas je suggère de regarder du côté de TextFieldParser ; il y a même un exemple de lecture d'un tel type de fichier
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  8. #8
    Invité
    Invité(e)
    Par défaut Bonjour Sehnsucht,
    je regarde pour parser le fichier il faut y croire pour retouver la structure!

    mais je m'y colle!
    Citation Envoyé par Sehnsucht Voir le message
    J'ai parcouru le sujet un peu en diagonale mais il semblerait que tu cherches à lire un fichier à champs de largeur fixe.
    Dans ce cas je suggère de regarder du côté de TextFieldParser ; il y a même un exemple de lecture d'un tel type de fichier

  9. #9
    Invité
    Invité(e)
    Par défaut
    bonjour à tous,
    vue que dans ma migration je vais utiliser un XML; j'ai décider de transiter par ma base de données en attendant la migration des autres livrables.

    problème résolu, résolu par l'absurde mais résolue!

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

Discussions similaires

  1. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  2. convertir une Collection VB6 et VB.net
    Par grenouillesiverte dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/10/2007, 04h45
  3. [VB.NET]Charger et décharger dynamiquement des fichiers DLL
    Par leSeb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/08/2006, 11h31
  4. différence entre vb6 et vb .net
    Par trefles dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/12/2005, 09h28
  5. [CR9] [D2005] [ASP.NET WEB App] Création dynamique d'un état
    Par Crystalou dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 09/03/2005, 09h21

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