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

ASP.NET Discussion :

Translation de VB.net vers C#


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Translation de VB.net vers C#
    Y en a qui vont être content, en ce joli mois d'Aout (en fait tout pourri en Bretagne !!!) je me lance dans une opération sympa mais délicate : je traduis tout mon système de site de VB vers C# et à la main les 10 000 lignes de code !!!

    LuteceFalco, si tu m'entends .....


    Bon alos abordond le premier souci que je rencontre et pour lequel je trouve pas de solution, les traducteurs de code me remontent une erreur et pas de solution.

    J'ai ça en VB :
    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
            Private _table As DataTable
            ''' <summary>
            ''' Resultat de la dernière requête tabulaire.
            ''' </summary>
            ''' <value></value>
            ''' <returns></returns>
            ''' <remarks></remarks>
            Public Property Table() As DataTable
                Get
                    Return _table
                End Get
                Set(ByVal value As DataTable)
                    _table = value
                End Set
            End Property
    Lorsque je mets ça en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /// <summary>
            /// Résultat de la dernière requête tabulaire
            /// </summary>
            private datatable _table;
            private datatable Table
            {
                get { return _table; }
                set { _table = value; }
            }
    il me mets pas en bleu clair le "datatable".
    J'en déduis donc que le mot n'est pas connu de C#
    Donc double soucis dans mon exposé : DataTable est il réservé à VB, si oui, qu'elle est sa traduction en C# ?
    Est ce que, indépendement de ce mot qui coince, la translation est bonne ?
    J'ai une bonne centaine de Property à traduire, je voudrais partir sur des bonnes bases.

    Merci d'avance.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    je traduis tout mon système de site de VB vers C# et à la main les 10 000 lignes de code !!!
    Bon courage !!

    Pour ce qui est de ta question, le nom des classes est sensible à la casse en C#, donc si tu mets DataTable ça devrait mieux passer
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Contrairement à Vb.net, le C# est sensible à la casse. Essai de mettre "DataTable" au lieu de "datatable".

    Pascal

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci les gars pour la réponse et les encouragements.

    Une autre pour la fin d'aprem ?

    Je sèche sur un truc qui doit être du pur VB, mais je maitrise pas à fond.
    Voici la sub entière en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Sub New(ByVal idChainCo As String)
                Dim sRQ As String = ConfigurationManager.ConnectionStrings(idChainCo).ConnectionString
                If sRQ = "" Then
                    Throw New AppExecption("Chaine de connexion " & idChainCo & " introuvable")
                End If
                Conex = New SqlConnection(sRQ)
            End Sub
    Je l'ai traduit par cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            public Dmanager(string idChainCo)
            {
                string sRQ = System.Configuration.ConfigurationManager.ConnectionStrings[idChainCo].ConnectionString;
                if (sRQ == "")
                {
     
                }
                Conex = new SqlConnection(sRQ);
            }
    Je n'ai pas réussi à traduire le "Throw".
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    throw new AppExecption("Chaine de connexion " + idChainCo + " introuvable");
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Je n'ai pas réussi à traduire le "Throw".
    Casing, encore.

    C'est throw.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    throw new AppException(...);
    Tous les mots clefs du langage en C# sont en minuscules (je parle bien des mots clefs langage, pas des classes du framework, bien sur).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Décidément, la casse va me jouer par mal de tour je pense.

    Alors revenons sur la DataTable : ça marche pas. Il dit :
    Erreur 2 Le type ou le nom d'espace de noms 'DataTable' est introuvable (une directive using ou une référence d'assembly est-elle manquante*?) D:\inetpub\SystemC\App_Code\DataCon.cs 29 17 http://www.systemc.maison/
    Dans les Using j'ai mis System.Data.SQLClient, en VB c'est celui là qui contient la DataTable, je crois.

    Merci à tous.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Décidément, la casse va me jouer par mal de tour je pense.

    Alors revenons sur la DataTable : ça marche pas. Il dit :

    Dans les Using j'ai mis System.Data.SQLClient, en VB c'est celui là qui contient la DataTable, je crois.
    Non, DataTable est un objet commun à tous les providers (pas spécifique à Sql Server). Il doit donc être dans System.Data (ou Systam.Data.Common, je ne me souviens plus).

    Sinon, autre point qui me perturbe mais là, on est dans le pur VB encore une fois et je ne maitrise pas ce choses là. Dans ma classe de gestion d'exception j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            Sub New(ByVal MsgError As String)
                MyBase.New(MsgError)
            End Sub
    J'ai utilisé un traducteur de code en ligne qui m'a donné ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AppExecption(string MsgError)
            {
                base.New(MsgError);
            }
    Mais le Nezw posqe un souci comme cela :
    Constructeur appelant le contructeur de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MyClass(string msgError) : base(msgError)
    {
     
    }

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  9. #9
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, merci.

    Donc j'ai ajouté un using System.Data et la DataTable marche beaucoup mieux. Bizarre, en VB, pas besoins de le faire. C'est pas grave.

    Merci pour la strucutre d'aprés, je comprends pas comment ça marche mais c'est pas trés grave. Ce n'est pas l'objet de mon boulot pour l'instant et ces classes servent à peine.

    J'ai un autre souci avec la Table. Donc j'ai une property Table qui est de type DataTable.
    En VB j'atteins une donnée en faisant un truc comme ça :
    A savoir donc la première cellule de la premier ligne de la Table.

    Quand je mets la même chose en C# il ne me trouve pas de "Item" mais un ItemArray qui visiblement ne correspond pas exactement au VB.
    J'ai cherché sur le net mais j'ai pas trouvé d'explication pour que je comprenne le fonctionnement de ce point là.
    Du coup, je sais pas comment aller sur une donnée précise dans la Table.

    Voyez vous ce que je veux dire ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  10. #10
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Il faut utiliser les crochets: http://msdn.microsoft.com/fr-fr/libr...able.rows.aspx
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  11. #11
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, vu. En fait on envoi direct les corrodonée du tableau sur le Rows, comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return Table.Rows[0][0];
    Ouh pas simple le C#, ça demande de la précision à mort. Bon, pas grave, j'ai décidé d'apprendre, donc je vais pas lâcher comme ça.

    Par contre (oui, les problèmes arrivent en cascades), sur le cas qui m'occupe, je dois récupérer cette donnée et la renvoyer par le return de fonction.
    Sauf que le return renvoi une string et là il me dit qu'il veut pas faire la conversion de type automatiquement.
    J'ai essayé de rajouter une ToString, mais pas mieux.
    Je trouve pas comment on fait un cast en C#.
    Pour mémoire je mete le bout de code en entier

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    string RetournerScalaire(string requete)
            {
                try
                {
                    // On assigne une requêtes parametrée à la commande
                    SqlCommand commande = new SqlCommand(requete);
     
                    // On lui assigne une connexion
                    commande.Connection = this.Conex;
     
                    Adapteur = new SqlDataAdapter(commande);
                    SqlCommandBuilder oCommandBuilder = new SqlCommandBuilder(Adapteur);
     
                    Table = new DataTable();
                    Conex.Open();
                    Adapteur.Fill(Table);
                    if (Table.Rows.Count == 0)
                    {
                        return "";
                    }
                    else
                    {
                        return Table.Rows[0][0];
                    }
                    //If Table.Rows.Count = 0 Then
                    //    Return ""
                    //Else
                    //    Return Table.Rows(0).Item(0)
                    //End If
                }
                catch
                {
                }
                finally
                {
                }
     
            }
    Donc c'est la dernière ligne qui pose un souci. Aprés le coderais le Catch et le Finally, enfin demain vu l'heure.

    Merci à tous
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  12. #12
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour, ToString devrait très bien marcher : return Table.Rows[0][0].ToString();
    Ou pour le cast : return (string)Table.Rows[0][0];
    Bon courage.

  13. #13
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci
    Avec le ToString il me dit ça :
    Erreur 2 Impossible de convertir le groupe de méthodes 'ToString' en type non-délégué 'string'. Souhaitiez-vous appeler la méthode*? D:\inetpub\SystemC\App_Code\DataCon.cs 81 28 http://www.systemc.maison/
    Mais avec le (string) ça marche bien.

    La suite demain, bonne soirée à tous et un grand merci.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  14. #14
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Ton erreur vient du fait que tu as oublié les parenthèses pour appeler la fonction.

    La syntaxe sans parenthèses sert à créer des handlers, comme ici avec OnCollectionChanged :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    m_collection.CollectionChanged += new NotifyCollectionChangedEventHandler(OnCollectionChanged);

  15. #15
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Ouh pas simple le C#, ça demande de la précision à mort.
    Je ne pense pas que VB.Net accepte que tu mettes des crochets à la place des parenthèses.

    en dehors de cela, la différence principale est le strict respect du "casing" (pour les mots clefs comme pour les identifiants) et le fait que le C# en terme de cast fait uniquement ce que tu lui demandes, sans interprétation parasite.

    Une autre différence concerne les WinForm : il n'existe pas d'instance créée sans raison, comme cela a été fait dans VB.Net pour assurer une pseudo compatibilité avec VB6.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  16. #16
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ces infos.

    Ce matin je reprends et je m'attaque au Catch et au Finally.

    Mon premier souci vient sur le Catch qui déclare une variable Exception et je trouve pas l'équivalent.
    Mon deuxième souci est plus une vérification.
    Voici le code en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Catch ex As Exception
                    ProjetY.Outils.Logage(ex.Message)
                    ProjetY.Outils.Logage(requete)
                    Throw New AppExecption(ex)
                Finally
                    Me.Conex.Close()
                End Try
    Je ne trouve pas le moyen de reproduire la variable ex.
    Dans le Finally il y le Me : en C# c'est bien le this qui remplace ?

    Merci pour votre aide.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  17. #17
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Merci pour ces infos.

    Ce matin je reprends et je m'attaque au Catch et au Finally.

    Mon premier souci vient sur le Catch qui déclare une variable Exception et je trouve pas l'équivalent.
    Mon deuxième souci est plus une vérification.
    Voici le code en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Catch ex As Exception
                    ProjetY.Outils.Logage(ex.Message)
                    ProjetY.Outils.Logage(requete)
                    Throw New AppExecption(ex)
                Finally
                    Me.Conex.Close()
                End Try
    .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    catch(Exception ex)
    {
                    ProjetY.Outils.Logage(ex.Message);
                    ProjetY.Outils.Logage(requete);
                    throw new AppExecption(ex);
     
    }
    finally
    {
       this.Conex.Close();
    }
    Faudrait peut être songer à lire un tuto C#

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  18. #18
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci BlueDeep.

    J'en ai trois sous les yeux, dont un qui est un tableau de correspondance des mots clé et des structures de code.
    Tu te doute bien que j'ai lu et relu des tuto avant de me lancer là dedans.
    Et j'ai aussi un traducteur automatique ouvert en permanence.

    Mais malgrés tout ça, plus des recherches spécifiques il y a des trucs que je trouve pas. A mon avis plus par manque d'expérience et de compréhsenion.

    Placer la décalration tel que tu me le présente pour la varaible ex, jamais j'aurais pensé à faire une truc pareil. Et en plus dans la structure Try CAtch, c'est un peu spécial, du coup, je savais pas trop comment le mettre, mais j'ai essayé des choses avant de poster.

    Tiens, toujours dans la même série et là je sèche encore, c'est sur les séquences d'échapement.
    Dans une fonction j'ai ça à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.StreamWriter oWriter = new System.IO.StreamWriter(HttpContext.Current.Server.MapPath("/") + "\logage\log.txt",true);
    Il me bug les \ et je comprends pas ce que je dois mettre pour corriger le tir parce que je trouve pas un seul tuto qui me parle de séquence d'échapement et cette notion est "nouvelle" pour moi. En VB le seul échapement que l'on ait est le ".

    Merci pour tout
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  19. #19
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Il me bug les \ et je comprends pas ce que je dois mettre pour corriger le tir parce que je trouve pas un seul tuto qui me parle de séquence d'échapement et cette notion est "nouvelle" pour moi. En VB le seul échapement que l'on ait est le ".

    Merci pour tout
    Utiliser le '@' devant la chaine; cela entraine son interprétation litérale.
    Le coup du '\' comme caractére escape est un vieil héritage du C auquel n'ont pas échappé C++, Java et C# : on peut en effet s'interroger sur son utilité à une époque où les terminaux en mode texte ont de facto disparu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.StreamWriter oWriter = new System.IO.StreamWriter(HttpContext.Current.Server.MapPath("/") + @"\logage\log.txt",true);
    Ceci dit, plus élégant avec la méthode Path.Combine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.IO.StreamWriter oWriter = new System.IO.StreamWriter(
                      Path.Combine(HttpContext.Current.Server.MapPath("/"), 
                      Path.Combine("logage", "log.txt")),true);
    Ainsi plus de "\" ou autres séparateurs "system dependent". (et là c'est du .Net pas du C#).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  20. #20
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour la ligne de code plus élagante, je suis toujours preneur de ce genre de chose, ça me permet de progresser.

    Par contre, Path ne serait il pas "réservé" aux applications et pas au sites Web ?
    Je n'ai pas réussi à remonter dans l'arboressence des objets pour trouver à quelle classe il appartient. Mais là, pour l'instnat il me le souligne en rouge en me disant :
    Erreur 1 Le nom 'Path' n'existe pas dans le contexte actuel D:\inetpub\SystemC\App_Code\Outils.cs 22 73 http://www.systemc.maison/
    Alors est ce que je dois mettre un using de plus que j'ai oublié ou est ce que dans un site web, ça marche pas ?

    Là, tu vois, c'est typiquement le genre de truc que je trouve pas dans les tutos que j'ai et si je mets ça dans Google, fiouo, on me raconte tout sur le path, mais pas ce que je cherche.

    Merci pour tout
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

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

Discussions similaires

  1. ConversioN C++.net vers visual C++ mfc
    Par ricky78 dans le forum MFC
    Réponses: 5
    Dernier message: 13/06/2007, 17h03
  2. ASP.net vers Crystal
    Par Fleur-Anne.Blain dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2007, 09h57
  3. Une solution pour migrer de .NET vers MFC
    Par torNAdE dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2006, 22h23
  4. Convertion code Delphi.net vers C#
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 31/03/2006, 21h08

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