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

C++ Discussion :

Ré-écriture code VB6 -> C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 65
    Par défaut Ré-écriture code VB6 -> C++
    Bonjour,

    Dans le cadre d'un travail, j'ai pour tâche de ré-écrire un programme (codé en VB6) en C++. Autant le dire tout de suite : je rencontre beaucoup de difficultés étant donné que le programme en question n'est pas documenté (il n'y a aucun document d'analyse ou quoi que ce soit, mis à part quelques commentaires par-ci par-là dans le code).

    Cependant, la compréhension du code n'est pas encore un trop gros problème (évidemment, ç'aurait été plus facile avec de la documentation). Je dois coder le programme en C++ avec C++ Builder 5 (oui, je vous l'accorde, c'est pas très nouveau tout ça...). J'ai une petite expérience du C++ (j'avais déjà fait pas mal de C et j'avais appris le C++ en autodidacte via des tutoriaux) mais j'ai l'impression qu'avec C++ Builder, tout change ! Ok, la création de la GUI est grandement simplifiée, mais ça ne m'a pas l'air fort standard. Moi qui avait l'habitude des string, voilà que j'apprends que C++ Builder utilise des AnsiString (ou String grâce au typedef) pour tout ce qui touche aux composants.

    Bref, je suis un peu perdu devant tous les types de données, les conversions à effectuer etc. Dans le programme en question, par exemple, il y a des conversions de Variant en Double etc... Toutes ces choses-là en C++ ne se font pas aussi aisément qu'en VB (ou alors j'ai loupé un chapitre) et encore moins quand on utilise C++ Builder (dois-je utiliser les AnsiString autant que possible, ou bien les string de la STL et convertir uniquement lorsque je dois afficher dans un composant ?).

    En résumé, si quelqu'un a déjà eu à convertir du VB6 (ou VB en général) en C++ et qu'il a recontré les même problèmes que je recontre actuellement, un éclaircissement de sa part serait hautement apprécié.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Si Variant en VB porte bien son nom, un boost::variant ou boost::any devrait faire l'affaire.

    Pour les AnsiString, ca depend des traitemetn effectué dessus

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 65
    Par défaut
    Oui, j'avais pensé à utiliser la librairie boost mais je me suis rendu compte que le type Variant existait en C++ (par contre pour les conversions ça a l'air nettement plus compliqué).

    Pour les chaînes de caractères, disons que la plupart du temps, je dois effectuer des traitements dessus (en VB c'est des mid, left, instr etc.) sans les afficher dans des composants de la GUI. J'essaie donc d'utiliser au plus le type string de la STL. J'aurais juste aimé savoir ce qui, d'après vous, pourrait me simplifier la vie en vue de la conversion VB -> C++ (à quelque niveau que ce soit).

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Citation Envoyé par Tenebrous Voir le message
    Oui, j'avais pensé à utiliser la librairie boost mais je me suis rendu compte que le type Variant existait en C++ (par contre pour les conversions ça a l'air nettement plus compliqué).
    Je ne pense pas non

    Citation Envoyé par Tenebrous Voir le message
    Pour les chaînes de caractères, disons que la plupart du temps, je dois effectuer des traitements dessus (en VB c'est des mid, left, instr etc.) sans les afficher dans des composants de la GUI. J'essaie donc d'utiliser au plus le type string de la STL. J'aurais juste aimé savoir ce qui, d'après vous, pourrait me simplifier la vie en vue de la conversion VB -> C++ (à quelque niveau que ce soit).
    Alors Oui c'ets le mieux.

  5. #5
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    Pourquoi dois tu effectuer cette conversion ? Besoin de performance, obsolescence, interfaçage...
    Pourquoi repartir sur du C++ Builder que me parait lui aussi en fin de vie...
    Sinon utilise le plus possible les standards, les std::string à la place des AnsiString. Pour ce qui est tu type Variant, la plupart dur temps tu peux les replacer par des déclarations explicites et un peu d'héritage.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 65
    Par défaut
    Principalement pour un gain de performance, en effet.
    Cependant, mon travail ne se limite pas à une simple traduction de code, je dois également revoir certains algorithmes utilisés et les optimiser pour un gain encore plus important.

    En ce qui concerne C++ Builder, il m'est malheureusement imposé, je n'ai pas le choix...

    Sinon, j'aurais une autre question :
    J'aimerais connaître l'équivalent des fonctions GetSetting et SaveSetting de VB en C++. Si cela n'existe pas, y a-t-il une alternative ?
    J'ai effectué pas mal de recherches sur Internet; sans grand succès (la documentation est très peu présente ou bien pas vraiment détaillée).

    Merci d'avance.

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

Discussions similaires

  1. probleme avec requete SQL dans code VB6
    Par captainamerica75 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/05/2007, 21h36
  2. Réponses: 2
    Dernier message: 08/11/2006, 20h57
  3. Tracage de code VB6
    Par seb500 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/10/2006, 09h52
  4. Code VB6 à adapter pour VB4
    Par Whombat dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/03/2006, 10h50
  5. Code VB6 vers Delphi ?
    Par isachat666 dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2006, 15h07

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