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 :

Traduction c# en vb.net


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    ingé
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingé

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 19
    Points
    19
    Par défaut Traduction c# en vb.net
    Bonjour à tous,

    Je chercher à remplacer une image dans un fichier docx en openXML.

    J'ai trouvé un morceau de code qui fait cela par contre il est en C# et je n'arrive pas à le traduit en Vb.net, voici la partie qui me pose problème.

    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
     
     
     SdtBlock cc = doc.MainDocumentPart.Document.Body.Descendants<SdtBlock>()
                        .FirstOrDefault(c =>
                        {
                            SdtProperties p = c.Elements<SdtProperties>().FirstOrDefault();
                            if (p != null)
                            {
                                // Is it a picture content control?
                                SdtContentPicture pict =
                                    p.Elements<SdtContentPicture>().FirstOrDefault();
                                // Get the alias.
                                SdtAlias a = p.Elements<SdtAlias>().FirstOrDefault();
                                if (pict != null && a.Val == "MyPicture")
                                    return true;
                            }
                            return false;
                        });
    Voici ce que j'ai traduit mais j'ai toujours des erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Dim cc As SdtBlock = doc.MainDocumentPart.Document.Body.Descendants(Of SdtBlock)().FirstOrDefault(Function(c))
            Dim p As SdtProperties = c.Elements(Of SdtProperties)().FirstOrDefault()
            If (p IsNot Nothing) Then
                ' Is it a picture content control?
                Dim pict As SdtContentPicture = p.Element(Of SdtContentPicture)().FirstOrDefault()
                ' Get the alias.
                Dim a As SdtAlias = p.Elements(Of SdtAlias)().FirstOrDefault()
                If (pict IsNot Nothing And a.Val = "MyPicture") Then
                    Return True
                End If
            End If
         Return False
    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ton problème est ici :

    FirstOrDefault(Function(c))
    Tu passes une fonction vide en paramètre de FirstOrDefault, alors que dans le code C# cette fonction continue jusqu'à la fin du code...

    Essaie ce convertisseur si tu ne veux pas faire la conversion manuellement. Ca donne quelque chose comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim cc As SdtBlock = doc.MainDocumentPart.Document.Body.Descendants(Of SdtBlock)().FirstOrDefault(Function(c) 
        Dim p As SdtProperties = c.Elements(Of SdtProperties)().FirstOrDefault()
        If p IsNot Nothing Then
            ' Is it a picture content control?
            Dim pict As SdtContentPicture = p.Elements(Of SdtContentPicture)().FirstOrDefault()
            ' Get the alias.
            Dim a As SdtAlias = p.Elements(Of SdtAlias)().FirstOrDefault()
            If pict IsNot Nothing AndAlso a.Val = "MyPicture" Then
                Return True
            End If
        End If
        Return False
     
        End Function)

Discussions similaires

  1. Problème de traduction C++ vers VB.net
    Par ne2sbeal dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/01/2009, 17h41
  2. Traduction C# vers VB.Net
    Par papawemba dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/06/2008, 09h54
  3. Traduction VBA en VB.NET
    Par tirixil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/11/2007, 13h12

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