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 :

Cartographie AutoCAD - VB.NET [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Cartographie AutoCAD - VB.NET
    Bonjour à tous,

    J'ai de solide connaissance en LISP, que j'utilise fréquemment, je connais les principes de base en VBA mais je ne connais absolument pas le VB.NET et j'aurai besoin d'un peu d'aide...
    J'ai commencé a lire des parties de cours (comme le monstrueux cours de Philippe Lasserre), mais cela me prend énormément de temps alors que je ne suis pas sur de pouvoir résoudre les problèmes.

    Bref, je vous explique : mon associé, ne s'intéressant pas du tout à la programmation, m'a fait part de ce vieux programme, conçu par un de ses amis (malheureusement disparu maintenant), qu'ils utilisaient il y a une dizaine d'année. Ce programme, fonctionnant avec AutoCAD et/ou Excel, modélise des cartes pour l'aménagement de montagne afin d'évaluer, entre autre, la faisabilité et l'impact environnemental...

    En l'état, le programme me signale des erreurs (ActiveX), lorsque je clique sur les boutons du programme après avoir lancé le fichier exécutable...

    Tout d'abord, je souhaiterais savoir si ce programme est bien du VB.NET..? (ca y ressemble beaucoup en tout cas).

    Deuxièmement, au delà de "faire tourner le programme", j'aimerai me pencher dessus plus en détails afin de le comprendre... Mais je ne sais pas par ou commencer.

    De plus, je ne sais pas si je dispose du bon framework en travaillant avec Microsoft Visual Basic 6.0 et AutoCad 2018.

    Je vous joint le projet - module - et les froms (il doit en manquer 2) ==> Smartmap VB.zip

    Je vous remercie d'avance.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    vb6 n'est pas vb.net, et vba c'est encore différent
    vba c'est du code qui ressemble beaucoup à vb6 intégré dans un fichier office
    vb6 date d'il y a une 20aine d'années, ca permet de faire des .exe
    vb.net est un langage moderne (orienté objet …) permettant de faire des tas de choses

    ta pièce jointe n'a pas l'air d'être téléchargeable

    quand une appli plante sur un bouton en parlant d'activeX c'est en général une dll qui est manquante sur le poste et/ou non registrée, le nom de la dll doit être précisé
    en général quand on a une dll pour dialoguer avec un logiciel tiers, il faut la version du logiciel prévue par cette dll, donc si ca a été fait pour un vieux autocad il y a des chances que ca ne fonctionne pas avec un récent
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    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,

    Si mes souvenirs sont exacts, (je n'ai jamais vu Autocad de près), Autocad supporte VBA. Il est possible que l'application soit plutôt en VBA; et que les références en question soient celles d'Autocad. Mais, je rejoins Pol63 en doutant fortement que tu puisses récupérer le vieux programme dans VB.bnet sans faire de modifications.

    Quand Microsoft a conçu VB.net, ils ont dû renoncer à une grande partie de la compatibilité entre les différentes versions de VB. Il y a une certaine compatibilité entre VB6, VBA et VB.net, mais la conversion de l'un vers l'autre n'est pas complètement automatique, ni toujours possible directement. Dans les anciennes versions de VB.net, il y avait un convertisseur VB6 vers VB.net, mais je ne suis pas sûr qu'il y soit encore. Et encore, il fallait compléter manuellement.

    Si tu as la source du programme et que tu peux l'afficher dans VB.net, les références manquantes devraient être indiquées par un signe jaune dans l'explorateur de solutions.

    PS. Pol63 a raison; ta pièce jointe est inaccessible. Essaie de la zipper, si tu ne l'as pas fait.

    P.P.S. regarde les extensions de tes fichiers.
    .FRM : Form VB6 ou avant
    .bas : Source VB6 ou avant ou VBA. Si l'auteur les a volontairement enregistrées ai format texte, ont peut les lire dans le Bloc-notes. Mais ils sont enregistrés en binaire par défaut
    .VB : Probablement un fichier VB.net qui peut aussi être lu dans le Bloc-notes. En fait beaucoup des fichiers de VB.net sont des fichiers xml qui peuvent être lus dans le Bloc-Notes.
    À 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.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Salut Pol63 et clementmarcotte,

    Merci pour vos réponses, je vais voir ce que je peux faire avec

    En effet, le programme dispose d’extension .dat/.bas/.frm/.vbp et .exe
    C'est vrai qu'il est possible de lire la plupart des fichiers avec bloc-notes.
    J'ai modifié la pièce jointe (qui était déjà zippé) elle devrait être accessible maintenant.

    Oui AutoCAD supporte le VBA (il faut simplement ajouter sur les versions récentes un plugin VBA).
    Cependant certaines fonctions ne semble plus être prises en charges, puisque rien n’apparaît dans l’Object browser… (SBar.SimpleText / CMD.Action / CMD.FileName...) Est-ce possible ???.

    Je vais regarder du coté des dll, j'ai déjà lu un post qui en parlait et qui pourrait faire partie d'une partie de la solution.

    Merci encore!

  5. #5
    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,

    C'est du VB6 (ou avant)

    sur cette page, il y a des liens vers des convertisseurs VB6 vers VB.net. Je ne sais pas s'ils sont gratuits ou payants, ou s'ils ont des versions d'essai. Je n'ai pas poussé plus loin. Comme je n'ai pas Autocad, je ne pourrais même pas tester le code converti. Et j'ai bien l'impression que si tu n'as pas Autocad sur ton poste, il ne te servira probablement pas à grand chose. Mais bon, rendu là, tu vas devoir décider…

    Mais, je répète, j'ai bien l'impression que tu vas devoir y mettre de l'huile de bras quand même. Cela pourrait être cependant un (difficile) mode d'apprentissage. Cela reste quand même plus compliqué que "Hello World".


    P.S. Ton exécutable fonctionne chez-moi. Si tu peux mettre la main sur les dll ou les contrôles qui te manquent, et que tu les installes sur ta machine; tu as peut-être une chance de faire fonctionner l'exécutable. Pour la source, tu pourrais voir plus tard…

    Nom : SmartMap.jpg
Affichages : 561
Taille : 31,4 Ko

    P.P.S. Aucune promesse, mais essaie cela.
    À 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.

  6. #6
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 422
    Points : 2 181
    Points
    2 181
    Par défaut
    bonjour,
    vb6 est passé dans le domaine public,soit tu redessines tes UserForm en VB.net, soit tu fais tes modifications en vb6!

    http://5kpcsoft.com/visual-studio-6-enterprise/

    Il est dommage d'avoir référencé les librairies dans le projet VB6 alors que toutes les librairies sont appelées soit par CreateObject ou GetObject et quelles sont déclarées en tant qu’objet !
    perso j'ai Auto CAD 2019, sans la référence à Auto CAD 2000 dans le projet l'application aurait utiliser 2019 !

    Nom : Sans titre.png
Affichages : 585
Taille : 38,5 Ko


    mon seul doute ce situ là Set ObjSurfer = GetObject(, "Surfer.Application")

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Salut Thumb down,

    J'ai installé Visual studio 6 comme ça pas besoin de redessiner les Userforms.
    Et du coup j'ai bien tous les components CommonDialog, StatusBar... que je cherchais au départ !

    Quand tu parles de faire des modifications en VB6, qu'est ce que tu veux dire exactement ? Quelle modification je devrais apporter au programme par exemple ? (désolé je comprends pas tout encore...)
    En gros, il faut remplacer les références d'AutoCAD2000 par AutoCAD2018 (moi j'ai la version 2018)...?
    Par contre la référence est rechercher dans le dossier d'AutoCAD 2002 (cf. image ci dessous) ?

    Je dois faire la même chose avec Excel ? (Microsoft Excel 5.0 Object Library vers Excel 2016 (j'ai microsoft office 2016) ?)

    Nom : Picture1.png
Affichages : 566
Taille : 437,6 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ObjSurfer = GetObject(, "Surfer.Application")
    Le code ci dessus m'a également interpellé et en fait il s'agit du logiciel Golden Software Surfer (logiciel de modélisation je crois, d'ou le format GRID .grd demandé dans certain usereform). Mais par chance, je dispose du logiciel et la référence est bien présente!

  8. #8
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 422
    Points : 2 181
    Points
    2 181
    Par défaut
    bonjour,
    en fait ton problème est due à l’évolution des version des logiciels utilisé par l'application!

    ici l’idée est de désactiver les référence à tes application externe vue que tu utilises GetObject! ainsi tu restera compatible avec les versions à venir et fini erreurs (ActiveX)!

    tout ce qui est MISSING tu décoche.

    la libraires AutoCAD tu t'en fiche vue que tu l’instancie comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set ObjExcel = GetObject(, "Excel.Application")
    Set objAcad = GetObject(, "AutoCAD.Application")
    tu utilise la méthode GetObject tu n'a pas besoin de référencer Excel, AutoCad etc... seul la version installé sur la machine sera valide AutoCAD2000,AutoCAD2017,AutoCAD2018,AutoCAD????

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Salut Thumb down,

    Magnifique, en effet après avoir décocher les références Missing, le programme tourne parfaitement!!

    Merci encore

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

Discussions similaires

  1. lire un fichier autocad 3D dans vb.net
    Par zakmakaay dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/01/2010, 10h16
  2. Commandes simples pour Autocad depuis Vb.net ?
    Par luclepetit dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/12/2008, 11h05
  3. Utiliser Vb.net avec autocad
    Par vincent.delva dans le forum VB.NET
    Réponses: 9
    Dernier message: 29/11/2008, 11h25
  4. Réponses: 0
    Dernier message: 18/07/2008, 14h58
  5. [VB.net] Autocad Tempo userform
    Par -Bred- dans le forum Windows Forms
    Réponses: 6
    Dernier message: 13/03/2007, 09h03

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