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

SL & STL C++ Discussion :

La complexite de String en C++


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut La complexite de String en C++
    Bonjour,

    Mon problème est que j'ai commencé mon premier véritable programme en C++ mais je débute dans ce langage et je suis fort étonné du faite que le type string n'est pas natif.

    J'ai donc lu pas mal de doc sur ce sujet mais j'ai beau utilisé STL, String ^ rien y fait, je me retrouve toujours avec des erreurs comme :
    - types mixes non acceptés dans une classe ( non ) managée ?

    J'ai donc essayé plusieurs solution et j'ai réussi à ne plus avoir de message d'erreur mais mon test d'afficher une donnée string par le biais d'un getteur est sans effet, la textbox reste vide sans erreur.

    Voici le code :

    Word.h

    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
    #pragma once
     
    //#include<string>
     
    using namespace System;
    //using namespace std;
     
    ref class Word
    {
    public:
    	Word(void);
    	String ^ GetName(void);
    	void SetName(String ^);
     
    private:
    	int idWord;
     
    	// Word's name
     
    	String ^ nWord;
     
    };
    Word.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
    15
    16
    17
    18
     
    #include "StdAfx.h"
    #include "Word.h"
     
     
    Word::Word(void)
    {
    }
     
    String ^ Word::GetName(void)
    {
    	return nWord;
    }
     
    void Word::SetName(String ^ newWord)
    {
    	String ^ nWord(newWord);
    }
    FormMain.h ( load de la form )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Word^ oWord = gcnew Word;
    oWord->SetName("Hello world !");
    // Put oWord's word into textbox
    //String ^ s = gcnew String(oWord->GetName().c_str());
    textBox1->Text=oWord->GetName();
    Désolé pour tout ce code mais comme ça vous aurez toute les informations nécessaires.

    Je voudrais débuter le C++ sur de très bonne base donc si vous voyez également des absurdités dans ce petit extrait de code, faites moi les parts s'il vous plait.

  2. #2
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Bonjour,

    Si tu veux débuter en C++ sur de très bonnes bases, tourne-toi vers les types standards tels que std::string.

    Même chose pour #pragma once, non standard. Utilise des include guards conventionnels (comme en C).

    XXX^, c'est quoi ce truc ? Du .NET ? Du C++/CLI ?

    « ref class », je ne connais pas non plus…

    D'où sort le namespace System ?

    Tout ceci n'est pas du C++ !
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 264
    Par défaut
    C'est du C++/CLI, pas du C++.

  4. #4
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    Merci de cette réponse si rapide, j'utilise Visual C++ 2008 Express et je programme grâce aux WinForms qui me semble beaucoup plus facile que d'attaquer directement en Win32 ( et j'ai également lu ça dans un forum )

    - XXX^ j'ai mis ça et plus d'erreur j'ai cru que c'était bon et j'ai continué comme ça ( Mais bien sur ce post me permet peut-être de savoir pourquoi et comment ).

    - ref class s'affiche automatique quand j'utilise l'IDE de Microsoft pour ajouter une classe.

    - namespace System sert a utiliser String ^, c'est le type String qui est utilisé par les textbox pour afficher du texte.

    - Pour les standards je vais de suite tout remettre à std::string, enlever ref class.

    Voila le nouveau code avec l'utilisation de std :

    Voici le code :

    Word.h

    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
    #pragma once
     
    #include<string>
     
    //using namespace System;
    using namespace std;
     
    class Word
    {
    public:
    	Word(void);
    	string GetName(void);
    	void SetName(string);
     
    private:
    	int idWord;
     
    	// Word's name
     
    	string nWord;
     
    };
    Word.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
    15
    16
    17
    #include "StdAfx.h"
    #include "Word.h"
     
     
    Word::Word(void)
    {
    }
     
    string Word::GetName(void)
    {
    	return nWord;
    }
     
    void Word::SetName(string newWord)
    {
    	string nWord(newWord);
    }
    FormMain.h ( load de la form )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Erreur : Impossible de convertir de 'Word * en 'Word'
    // Word oWord = new Word; 
    Word* oWord = new Word;
    oWord.SetName("laurent satta");
    // Put oWord's word into textbox
    String ^ s = gcnew String(oWord.GetName().c_str());
    textBox1->Text=s;
    Donc comme vous pouvez voir j'ai modifié pas mal de chose pour l'adaptation avec le std mais dans la FormMain.h si j'utilise :
    j'obtiens l'erreur :
    Impossible de convertir de 'Word * en 'Word'

    Mais, si je remplace cette ligne par celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Word* oWord = new Word;
    error C2228: la partie gauche de '.SetName' doit avoir un class/struct/union
    error C2228: la partie gauche de '.GetName' doit avoir un class/struct/union
    error C2228: la partie gauche de '.c_str' doit avoir un class/struct/union

    Merci de vos réponses

  5. #5
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Le plus judicieux serait que tu codes tout à la main.
    Ensuite, je te conseille de reprendre à la base. C'est le meilleur moyen de bien commencer !

    Voici un chouette cours : http://bruce-eckel.developpez.com/li...on/ticpp2vol1/
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  6. #6
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Il te reste du C++/CLI. Le "^" est l'équivalent du pointeur C++ en C++/CLI sauf qu'il n'a pas à être détruit, il est "managé" donc détruit par le Garbage Collector.

    Si tu veux faire du C++ Standard, reprends tout de 0 ça sera plus simple.

    Le C++ standard, c'est des pointeurs normaux "*", std::string, les en-têtes et le namespace standard (std:: au lieu de System:, etc.

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Mon problème est que j'ai commencé mon premier véritable programme en C++ mais je débute dans ce langage et je suis fort étonné du faite que le type string n'est pas natif.
    Si tu comprenais vraiment C++, ça ne t'étonnerait pas, et tu réaliserais que c'est ce qui fait sa force.

  8. #8
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    Si tu comprenais vraiment C++, ça ne t'étonnerait pas, et tu réaliserais que c'est ce qui fait sa force.
    Je ne vois pas du tout où est ce que ça peut être une force mais j'aimerais savoir, je suis tout ouïe ^^

  9. #9
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    @Virtuosity> Tu aurais dû poster un nouveau message plutôt que d'éditer l'ancien. L'édition a dû échapper à tout le monde !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String ^ s = gcnew String(oWord.GetName().c_str());
    Tu dois oublier XXX^, qui n'est pas du C++.
    Oublie également gcnew.

    Corrige déjà ça. Le reste ne m'a pas semblé incorrect (j'ai regardé rapidement).
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  10. #10
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    J'aimerais bien me conformer aux standards que vous me dites mais le debugger n'est pas de cet avis :
    'System::String'*: impossible d'utiliser ce type ici sans '^' de niveau supérieur
    'System::String'*: impossible d'utiliser 'new' dans le type référence*; utilisez 'gcnew' à la place

    Les 3 erreurs précédentes sont toujours présente en plus :
    error C2228: la partie gauche de '.SetName' doit avoir un class/struct/union
    error C2228: la partie gauche de '.GetName' doit avoir un class/struct/union
    error C2228: la partie gauche de '.c_str' doit avoir un class/struct/union

  11. #11
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Ton compilateur doit certainement être mal configuré. Il doit être en mode C++ managé.

    Je ne connais pas du tout VC++, donc je ne saurais t'en dire plus…

    EDIT: Ou alors, c'est que tu utilises le type String au lieu du type standard std::string.


    Il faut que tu oublies TOUT ce que tu crois savoir sur le C++ et que tu lises un bon cours, comme j'ai pu te donner en lien dans un post précédent.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  12. #12
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    J'utilise std dans mes classes mais le problème est que j'ai besoin du type String pour afficher dans une textbox ( je crois ) sinon il me dit qu'il ne peut pas faire la conversion.

    Hors topic : On dirait qu'il n'y a que des programmeurs Win32 et que personne n'a jamais touché aux WinForms ? Les WinForms ont-ils une si mauvaise inconformité au C++ standard ?

  13. #13
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je m'y connais en Windows Forms, mais je déconseille de les coupler au C++ standard.
    S'il est assez facile de convertir une std::string en System::String^, l'inverse est plus compliqué. Surtout que les System::String^ sont en wchar_t (UTF-16), alors que les std::string sont en char (Windows-1252)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Cela signifierait alors que les WinForms (que je ne connais pas) ne peuvent être utilisées qu'avec du C++ managé.

    Pour répondre à ta question subsidiaire, la plupart des membres du forums affectionnent le côté portable du C++.
    Une grande part d'entre nous utilise des bibliothèques portables pour la création d'interfaces graphiques (telles que Gtkmm, Qt, wxWidgets et j'en passe).

    Et il n'y a pas que des programmeurs win32 !
    Pour moi, programmer pour win32, c'est bon pour la programmation système.
    Se limiter à Windows lorsque l'on veut afficher une fenêtre et des composants classiques tels que textbox et consort (bref, ce que tout système d'exploitation répandu est en mesure de faire), c'est du pur gâchis.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  15. #15
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce qui est clair, c'est que les WinForms eux-mêmes ne marchent qu'en managé, et les strings managées sont en unicode UTF-16.

    Donc déjà, les char normaux et std::string, on oublie. Heureusement, contrairement à MinGW, std::wcout marche bien sous Visual, permettant d'utiliser des wchar_t et std::wstring sans problème.

    Ensuite, pour les conversions:
    std::wstring en System::String, rien de plus facile:
    Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    std::wstring cppstr(L"Toto");
    System::String^ dotnetstr = gcnew System::String(cppstr.c_str());
    Pour l'inverse, un poil plus compliqué, mais toujours plus simple que de convertir en string:
    Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    System::String^ dotnetstr = L"Tata";
    std::wstring cppstr;
    {
    	cli::array<wchar_t>^ dotnetchars = dotnetstr->ToCharArray();
    	cli::pin_ptr<wchar_t> cppchars = &dotnetchars[0];
    	cppstr = cppchars;
    }
    Note: Il convient d'utiliser les pin_ptr<> pendant le moins de temps possible, puisqu'ils gênent le ramasse-miettes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #16
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Déjà qu'il galère en C++, le pauvre, si en plus il faut qu'il se tape conversion sur conversion vers du CLI à longueur de temps…

    À moins que tu y sois professionnellement forcé, je te conseillerais plutôt d'utiliser autre chose que les WinForms…
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  17. #17
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Je pense que la majorité des personne ont oublié de détaille :
    "Visual C++ 2008 Express et je programme grâce aux WinForms".

    De deux choses l'une, ou il reprend à la base du C++ standard et alors plus de WinForms ou il commence à assimiler les subtilités du C++/CLI, et les autres aussi s'ils veulent répondre efficacement.
    Une troisième voie, c'est d'utiliser le C# avec les Winforms au lieu du C++/CLI, mais cela est hors du cadre de ma réponse, bien que la manière la plus productive de faire une application graphique avec VS.NET.

    L'erreur est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void Word::SetName(String ^ newWord)
    {
    	String ^ nWord(newWord);
    }
    Vous avez déclarez une VARIABLE LOCALE de nom nWord en l'initialisant avec la chaîne passé en paramètre, rien d'autre. Vous n'avez pas initialisé le CHAMP MEMBRE de l'instance de Word.

    Le code correcte est on ne peut plus simple et naturel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void Word::SetName(String ^ newWord)
    {
    	nWord = newWord;
    }
    Je pense que tous le monde est d'accord que le problème n'a rien à voir avec CLI vs Standard et que le code initial était presque "parfait".

  18. #18
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    Vous avez déclarez une VARIABLE LOCALE de nom nWord en l'initialisant avec la chaîne passé en paramètre, rien d'autre. Vous n'avez pas initialisé le CHAMP MEMBRE de l'instance de Word.
    C'est ça, une erreur absurde dans mon code. Grâce à cette modification, l'affiche s'effectue bien sur la textbox.
    Je tiens tout d'abord a m'excuser de ma sotise.

    Tout vos messages ont été très intéressants et je m'appuierai dessus sur mes prochains projets. Même si cela marche je prend conscience que cela ne suit pas du tout les standards et je programmerai autrement en écoutant tout vos conseils par la suite.

    Une troisième voie, c'est d'utiliser le C# avec les Winforms au lieu du C++/CLI, mais cela est hors du cadre de ma réponse, bien que la manière la plus productive de faire une application graphique avec VS.NET.
    Je ne savais pas également qu'il est possible de coder en C# ( ce qui est fort intéressant ).

    Le C++/CLI à l'air extrêmement ardu si on veut se conformer aux différents standards à ce que j'ai pu voir et les conversions Standards vs CLI en sont d'autant plus compliquées. Mais quel début mouvementé dans ce langage que je pensais beaucoup plus abordable !

    Je vous remercie tous de vos interventions !

  19. #19
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Le C++/CLI réunit la complexité de .Net et celle du C++ normal. C'est très bien pour faire des couches d'interopérabilité (typiquement, permettre d'utiliser une bibliothèque normale depuis .Net), mais très compliqué à apprendre si tu ne connais pas déjà le fonctionnement de .Net et du C++ normal...

    En clair, je déconseille fortement le C++/CLI comme premier langage.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  20. #20
    Membre averti
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Par défaut
    C'est très bien pour faire des couches d'interopérabilité
    Je crois avoir compris cette notion de couches d'interopérabilité grâce à vous. J'ai déjà utilisé le .Net dans d'autres langages ( C#, VB.Net ), malheureusement pour moi, comme vous le dites, il faut des connaissances solides également en C++ que je n'ai pas. Je suivrais votre conseil en tant que débutant de me limiter à une seule couche pour l'instant.

    Je vous remercie.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 14h55
  2. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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