Solved

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

Posted on 2007-11-15
3
333 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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

776 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