Solved

I have a problem I want to convert vb code to c# code

Posted on 2007-11-15
3
335 Views
Last Modified: 2008-02-01
public object URLDecode(string What)
    {
        object functionReturnValue = null;
        int Pos;
        int pPos;
        What = What.ToString().Replace("+", " ");
        StringReader Stream = new StringReader(What);
        ErrorEventArgs Err;
        if (Convert.ToInt64(Err) == 0) {
            Pos = What.ToString().IndexOf("%",1);
            pPos = 1;
            while (Pos > 0) {
               pPos = Pos + 3;
               Pos = What.ToString().IndexOf("%", pPos);
            }
            Stream.WriteText(Strings.Mid(What, pPos));
            Stream.Position = 0;
            functionReturnValue = Stream.ReadToEnd();//.ReadText;
            Stream.Close();
        }
        else {
            Pos = What.ToString().IndexOf("%", 1);
            while (Pos > 0) {
               What = Strings.Left(What, Pos - 1) + Strings.Chr((long)"&H" + Strings.Mid(What, Pos + 1, 2)) + Strings.Mid(What, Pos + 3);
                Pos = Pos + 1;
                Pos = What.ToString().IndexOf("%", Pos);
            }
            functionReturnValue = What;
        }
        Stream = null;
        return functionReturnValue;
    }
     
0
Comment
Question by:sitg
3 Comments
 
LVL 53

Accepted Solution

by:
Dhaest earned 250 total points
ID: 20296542
The code above is in c#... do you have a problem with your code or do you want it in vb.net ?

Vb.net code of example above
Public Function URLDecode(ByVal What As String) As Object 
    Dim functionReturnValue As Object = Nothing 
    Dim Pos As Integer 
    Dim pPos As Integer 
    What = What.ToString().Replace("+", " ") 
    Dim Stream As New StringReader(What) 
    Dim Err As ErrorEventArgs 
    If Convert.ToInt64(Err) = 0 Then 
        Pos = What.ToString().IndexOf("%", 1) 
        pPos = 1 
        While Pos > 0 
            pPos = Pos + 3 
            Pos = What.ToString().IndexOf("%", pPos) 
        End While 
        Stream.WriteText(Strings.Mid(What, pPos)) 
        Stream.Position = 0 
        functionReturnValue = Stream.ReadToEnd() 
        '.ReadText; 
        Stream.Close() 
    Else 
        Pos = What.ToString().IndexOf("%", 1) 
        While Pos > 0 
            What = Strings.Left(What, Pos - 1) + Strings.Chr(CLng("&H") + Strings.Mid(What, Pos + 1, 2)) + Strings.Mid(What, Pos + 3) 
            Pos = Pos + 1 
            Pos = What.ToString().IndexOf("%", Pos) 
        End While 
        functionReturnValue = What 
    End If 
    Stream = Nothing 
    Return functionReturnValue 
End Function 

Open in new window

0
 
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 250 total points
ID: 20296549
You don't have to do all this. There is a ready-made .net function for this:
public string URLDecode(string What)
{
       return System.Web.HttpUtility.UrlDecode(What);
}

Open in new window

0
 

Author Comment

by:sitg
ID: 20310382
thanks
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that undeā€¦
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question