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 :

Convertir C#.net avec lamba expression vers VB.net [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut Convertir C#.net avec lamba expression vers VB.net
    Bonjour à tous,
    Je ne suis pas du tout familiarisé avec les expressions lambda, de ce fait je n'arrive par à convertir la méthode ci-dessous en Vb.net.
    Quelqu'un pourrait-il m'aider et/ou me fournir la méthode en VB.net SVP ?

    Un gros merci à tous, et bonne soirée

    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
     
    private static string StripOLList(string source)
            {
                string output = "";
                try
                {               
                    string patternOL = @"<(ol)\s[^\>]*>(<li>.*?</li>)+?</\1>";               
                    string trg = Regex.Replace(source, patternOL, (param) =>
                    {                   
                        if (param.Groups[1].Value.Equals("ol"))
                        {
                            int i = 1;
                            foreach (Capture c in param.Groups[2].Captures)
                                output += String.Format("{0}. {1}\n", i++, Regex.Replace(c.Value, "<li>(.*?)</li>", "$1"));
                        }                   
                        return output;
                    });               
                    return trg;               
                }
                catch
                {
                    return source;
                }
            }

  2. #2
    Membre émérite Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Par défaut
    Salut,

    Voici un petit site assez sympa pour convertir du code C# <=> Vb.net : http://converter.telerik.com/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut les converter automatiquses ne fonctionnent pas...
    Citation Envoyé par Momoth Voir le message
    Salut,

    Voici un petit site assez sympa pour convertir du code C# <=> Vb.net : http://converter.telerik.com/
    Merci beaucoup pour la réponse, toutefois, j'ai essayé plusieurs sites de conversion automatique, mais cela ne fonctionne pas à cause de l'expression Lambda...
    Autre suggestion ou aide svp ?

    Merci encore

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par Gremlins27 Voir le message
    Autre suggestion ou aide svp ?
    Ma suggestion ne va pas?

    (au passage, converter.telerik fait le job pour l'exemple que tu donnes..)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut Oui c'est parfait
    Citation Envoyé par ZenZiTone Voir le message
    Ma suggestion ne va pas?
    Salut,

    Oui c'est parfait, je vais m'essayer. Un gros merci.
    Te reviens si j'ai des questions.

    Encore un gros merci pour ton aide

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par Gremlins27 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    (param) =>
                    {                   
                        if (param.Groups[1].Value.Equals("ol"))
                        {
                            int i = 1;
                            foreach (Capture c in param.Groups[2].Captures)
                                output += String.Format("{0}. {1}\n", i++, Regex.Replace(c.Value, "<li>(.*?)</li>", "$1"));
                        }                   
                        return output;
                    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function(param) [...]
     
    'Exemple :
    MaListe.Where(Function(param) param.MaPropriete = true)
     
    MaListe.Where(Function(param) 
          Return param.MaPropriete = true
    End Function)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut ok, mais param est de quel type et initialisé comment ?
    Citation Envoyé par ZenZiTone Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function(param) [...]
     
    'Exemple :
    MaListe.Where(Function(param) param.MaPropriete = true)
     
    MaListe.Where(Function(param) 
          Return param.MaPropriete = true
    End Function)
    Voila ce que j'ai fait, tu devrais comprendre ou je bloque :

    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
     
     private static string StripOlList(string source)
            {
                string output = "";
                try
                {
                    string patternOL = @"<(ol)\s[^\>]*>(<li>.*?</li>)+?</\1>";
                    string trg = Regex.Replace(source, patternOL, convertir(param)); //comment j'initialise param et de quel type est-il ?
                    return trg;
                }
                catch
                {
                    return source;
                }
            }
             string convertir (?????? param) //param est de quel type ?
             {
                string output = "";
                if (param.Groups[1].Value.Equals("ol"))
                {
                    int i = 1;
                    foreach (Capture c in param.Groups[2].Captures)
                        output += String.Format("{0}. {1}\n", i++, Regex.Replace(c.Value, "<li>(.*?)</li>", "$1"));
                }
                return output;
            }
        }

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut C'est Bon j'ai trouvé ! :)
    Un gros merci a
    ZenZiTone
    qui m'a mis sur la piste, pour ceux que cela intéresse voici le code en VB.net :

    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
     
        Private Function ConvertirListesHtmlToPlainText(ByVal source As String) As String
     
            Dim patternOlUl As String = "<(ul|ol)>(<li>.*?</li>)+?</\1>"
     
            Dim resultat As String = Regex.Replace(source, patternOlUl, AddressOf RemplacePucesNumeros)
            Return resultat
     
        End Function
     
        Private Function RemplacePucesNumeros(ByVal param As Match) As String
            Dim resultat As String = ""
            If param.Groups(1).Value.Equals("ol") Then
                Dim i As Integer = 0
                For Each optionTrouvee As Capture In param.Groups(2).Captures
                    i += 1
                    resultat = (resultat + String.Format("{0}. {1}" & vbLf, i, Regex.Replace(optionTrouvee.Value, "<li>(.*?)</li>", "$1")))
                Next
            Else
                For Each optionTrouvee As Capture In param.Groups(2).Captures
                    resultat = (resultat + String.Format("{0} {1}" & vbLf, "-", Regex.Replace(optionTrouvee.Value, "<li>(.*?)</li>", "$1")))
                Next
            End If
     
            Return resultat
        End Function

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

Discussions similaires

  1. Compilation code vb.net avec VWD Express
    Par zoltar_x dans le forum ASP.NET
    Réponses: 1
    Dernier message: 06/05/2009, 22h35
  2. Réponses: 6
    Dernier message: 21/05/2008, 11h20
  3. Réponses: 5
    Dernier message: 11/06/2007, 13h23
  4. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56

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