Solved

VB to C# Conversion

Posted on 2004-07-30
15
585 Views
Last Modified: 2010-04-15
Points to whom ever can translate this from VB to C# for me (I don't get VB at all).  To be awarded the points your answer has to work flawlessly, as the VB version does, I will test it and immediatly award the first correct answer the points ;)  Here it is:

dim DocId as string = Request.QueryString("docid")

if DocId & "" = ""
   docid.Text = "default.xml"
end if

dim XmlFilePath as string = Server.MapPath(docid)
 
'Relative file path to XML data
Dim strXmlFilePath as String = Server.MapPath("default.xml")

Dim xDoc as New XPathDocument(strXmlFilePath)
Dim xNav as XPathNavigator = xDoc.CreateNavigator
Dim xNodeIterator as XPathNodeIterator

'Initialize variables
Dim intTotalQuestion as Integer
Dim intQuestionNo as Integer = 1
Dim intScore as Integer = 0
Dim arrAnswerHistory as new ArrayList()

Sub Page_Load(src as Object, e as EventArgs)

      'Start a new quiz?
      If Not Page.IsPostBack Then

            'Yes! Count total question
            intTotalQuestion = xNav.Select("/quiz/mchoice").Count

            'Record start time
            ViewState("StartTime") = DateTime.Now

            ShowQuestion(intQuestionNo)
      End If
End Sub


Sub btnSubmit_Click(src as Object, e as EventArgs)

      'Retrieve essential variables from state bag
      intTotalQuestion = ViewState("TotalQuestion")
      intQuestionNo = ViewState("QuestionNo")
      intScore = ViewState("Score")
      arrAnswerHistory = ViewState("AnswerHistory")

      'Correct answer?
      If rblAnswer.SelectedItem.Value = ViewState("CorrectAnswer") Then
            intScore += 1
            arrAnswerHistory.Add(0)
      Else
            arrAnswerHistory.Add(rblAnswer.SelectedItem.Value)
      End If

      'End of quiz?
      If intQuestionNo=intTotalQuestion Then

            'Yes! Show the result...
            QuizScreen.Visible = False
            ResultScreen.Visible = True

            'Render result screen
            ShowResult()

      Else

            'Not yet! Show another question...
            QuizScreen.Visible = True
            ResultScreen.Visible = False
            intQuestionNo += 1
      
            'Render next question
            ShowQuestion(intQuestionNo)
      End If
End Sub


Sub ShowQuestion(intQuestionNo as Integer)
      Dim strXPath as String
      Dim intLoop as Integer
      Dim objTimeSpent as TimeSpan

      strXPath = "/quiz/mchoice[" & intQuestionNo.ToString() & "]"

      'Extract question
      xNodeIterator = xNav.Select(strXPath & "/question")
      xNodeIterator.MoveNext()
      lblQuestion.Text = intQuestionNo.ToString() & ". " & xNodeIterator.Current.Value

      'Extract answers
      xNodeIterator = xNav.Select(strXPath & "/answer")

      'Clear previous listitems
      rblAnswer.Items.Clear

      intLoop = 0
      While xNodeIterator.MoveNext()
      
            intLoop += 1

            'Add item to radiobuttonlist
            rblAnswer.Items.Add(new ListItem(xNodeIterator.Current.Value, intLoop))

            'Extract correct answer
            If xNodeIterator.Current.GetAttribute("correct","") = "yes" Then
                  ViewState("CorrectAnswer") = intLoop
            End If

      End While

      'Output Total Question
      lblTotalQuestion.Text = intTotalQuestion

      'Output Time Spent
      objTimeSpent = DateTime.Now.Subtract(ViewState("StartTime"))
      lblTimeSpent.Text = objTimeSpent.Minutes.ToString() & ":" & objTimeSpent.Seconds.ToString()

      'Store essential data to state bag
      ViewState("TotalQuestion") = intTotalQuestion
      ViewState("Score") = intScore
      ViewState("QuestionNo") = intQuestionNo
      ViewState("AnswerHistory") = arrAnswerHistory

End Sub

Sub ShowResult()
      Dim strResult as String
      Dim intCompetency as Integer
      Dim intLoop as Integer
      Dim strXPath as String
      Dim objTimeSpent as TimeSpan
      
      objTimeSpent = DateTime.Now.Subtract(ViewState("StartTime"))

      strResult  = "<center>"
      strResult += "<h3>Quiz Result</h3>"
      strResult += "<p>Points: " & intScore.ToString() & " of " & intTotalQuestion.ToString()
      strResult += "<p>Your Competency: " & int(intScore/intTotalQuestion*100).ToString() & "%"
      strResult += "<p>Time Spent: " & objTimeSpent.Minutes.ToString() & ":" & objTimeSpent.Seconds.ToString()
      strResult += "</center>"

      strResult += "<h3>Quiz Breakdown:</h3>"
      For intLoop = 1 to intTotalQuestion
            strXPath = "/quiz/mchoice[" & intLoop.ToString() & "]"
            xNodeIterator = xNav.Select(strXPath & "/question")
            xNodeIterator.MoveNext()
            strResult += "<b>" & intLoop.ToString() & ". " & xNodeIterator.Current.Value & "</b><br>"
            If arrAnswerHistory.Item(intLoop-1)=0 Then
                  strResult += "<font color=""green""><b>Correct</b></font><br><br>"
            Else
                  xNodeIterator = xNav.Select(strXPath & "/answer[" & arrAnswerHistory.Item(intLoop-1).ToString() & "]")
                  xNodeIterator.MoveNext()
                  strResult += "<b>You answered:</b> " & xNodeIterator.Current.Value & "<br>"
                  strResult += "<font color=""red""><b>Incorrect</b></font><br><br>"
            End If
      Next

      lblResult.Text = strResult
End Sub
0
Comment
Question by:Praesidium
15 Comments
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11680905
namespace bar
{
      public class foo
      {

            private string strXmlFilePath  = Server.MapPath("default.xml");

            private XPathDocument xDoc = new XPathDocument(strXmlFilePath);
            private XPathNavigator xNav = xDoc.CreateNavigator;
            private XPathNodeIterator xNodeIterator;

            int intTotalQuestion;
            int intQuestionNo;
            int intScore;
            int arrAnswerHistory;

            private void Page_Load(object src,EventArgs e)
            {
                  If(!Page.IsPostBack)
                  {
                        intTotalQuestion = xNav.Select("/quiz/mchoice").Count;
                        ViewState["StartTime"] = DateTime.Now;
                        ShowQuestion(intQuestionNo);
                  }
            }
      }

      private void btnSubmit_Click(object src, EventArgs e)
{

      intTotalQuestion = ViewState["TotalQuestion"];
      intQuestionNo = ViewState["QuestionNo"];
      intScore = ViewState["Score"];
      arrAnswerHistory = ViewState["AnswerHistory"];

      if(rblAnswer.SelectedItem.Value = ViewState["CorrectAnswer"])
{
      intScore += 1;
      arrAnswerHistory.Add(0);
}
      arrAnswerHistory.Add(rblAnswer.SelectedItem.Value);
}

if(intQuestionNo==intTotalQuestion)
{

QuizScreen.Visible = false;
ResultScreen.Visible = true;

ShowResult();

}

QuizScreen.Visible = true;
ResultScreen.Visible = false;
intQuestionNo += 1;
     
ShowQuestion(intQuestionNo);
}
}

private void ShowQuestion(int intQuestionNo) {
string strXPath;
int intLoop;
TimeSpan objTimeSpent;

strXPath = "/quiz/mchoice[" & intQuestionNo.ToString() & "]";

xNodeIterator = xNav.Select(strXPath & "/question");
xNodeIterator.MoveNext();
lblQuestion.Text = intQuestionNo.ToString() + ". " + xNodeIterator.Current.Value;

xNodeIterator = xNav.Select(strXPath & "/answer");

rblAnswer.Items.Clear();

intLoop = 0;
while(xNodeIterator.MoveNext()); {
    intLoop += 1;
    rblAnswer.Items.Add(new ListItem(xNodeIterator.Current.Value, intLoop));

    if(xNodeIterator.Current.GetAttribute("correct","") == "yes") {
           ViewState["CorrectAnswer"] = intLoop;
    }
}
lblTotalQuestion.Text = intTotalQuestion;

objTimeSpent = DateTime.Now.Subtract(ViewState["StartTime"]);
lblTimeSpent.Text = objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();

ViewState["TotalQuestion"] = intTotalQuestion;
ViewState["Score"] = intScore;
ViewState["QuestionNo"] = intQuestionNo;
ViewState["AnswerHistory"] = arrAnswerHistory;

}

private void ShowResult() {
  string strResult;
int intCompetency;
int intLoop;
string strXPath;
TimeSpan objTimeSpent;
     
objTimeSpent = DateTime.Now.Subtract(ViewState["StartTime"]);

strResult  = "<center>";
strResult += "<h3>Quiz Result</h3>";
strResult += "<p>Points: " + intScore.ToString() + " of " + intTotalQuestion.ToString();
strResult += "<p>Your Competency: " + int(intScore/intTotalQuestion*100).ToString() + "%%";
strResult += "<p>Time Spent: " + objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();
strResult += "</center>";

strResult += "<h3>Quiz Breakdown:</h3>";
for(intLoop=1;intLoop<=intTotalQuestion;intLoop++) {
     strXPath = "/quiz/mchoice[" + intLoop.ToString() + "]";
     xNodeIterator = xNav.Select(strXPath & "/question");
     xNodeIterator.MoveNext();
     strResult += "<b>" + intLoop.ToString() + ". " & xNodeIterator.Current.Value + "</b><br>";
     if(arrAnswerHistory.Item[intLoop-1]==0) {
         strResult += "<font color=""green""><b>Correct</b></font><br><br>";
     } else {
         xNodeIterator = xNav.Select(strXPath + "/answer[" + arrAnswerHistory.Item[intLoop-1].ToString() + "]");
         xNodeIterator.MoveNext();
         strResult += "<b>You answered:</b> " + xNodeIterator.Current.Value + "<br>";
         strResult += "<font color=""red""><b>Incorrect</b></font><br><br>";
     }
}

lblResult.Text = strResult;
}
}
}

will be close but I dont have asp.net on tis machine.
0
 
LVL 6

Author Comment

by:Praesidium
ID: 11680931
looks good... let me test it and I will award tell you if it works...
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11680939
its not perfect im sure but pretty close ...
0
 
LVL 22

Expert Comment

by:_TAD_
ID: 11681045


"Give a mana fish, feed him for a day.  Teach a man to fish, feed him for a lifetime."


Go here:
http://support.microsoft.com/?kbid=308470

Download and print.  26 pages, very useful.
0
 
LVL 6

Author Comment

by:Praesidium
ID: 11681166
@_TAD_  Thanks for the article...  I am reading it now... My VB is beyond slack...  

@gregoryyoung I am doing some static casts to read the objects, I will let you know if everything looks correct.  
0
 
LVL 6

Author Comment

by:Praesidium
ID: 11681713
Okay...  gregoryyoung... close, but no cigar my friend... I casted a bunch of things...  changed the array structure a bit... but now I'm hitting a wall I can't say I've hit before...  My code (follows) wont' compile because it claims 'Pace.quiz.xDoc' denotes a 'field' where a 'class' was expected, and I can't seem to figure out why.  I would be glad to increase the points on this question, however the rules say I can't do that...  Any Ideas?


Namespace Pace
{
      /// <summary>
      /// XML Based Quiz Utility
      /// </summary>
      public class quiz : System.Web.UI.Page{
                        
                  protected Button btnSubmit;
                  protected Label lblQuestion;
                  protected RadioButtonList rblAnswer;
                  protected Label lblTotalQuestion;
                  protected Label lblTimeSpent;
                  protected Label lblResult;
                  protected Panel QuizScreen;
                  protected Panel ResultScreen;
                  
                  public static string strXmlDoc = "default.xml";
                  public static string strXmlFilePath = ("~/media/quizzes/" + strXmlDoc);
                  
                  int intTotalQuestion;
                  int intQuestionNo;
                  int intScore;

                  XPathDocument xDoc = new XPathDocument(strXmlFilePath);
                  XPathNavigator xNav = xDoc.CreateNavigator();
                  XPathNodeIterator xNodeIterator;
                  System.Collections.ArrayList arrAnswerHistory = new ArrayList();
            
                  private void Page_Load(object sender, System.EventArgs e){
                        if(!Page.IsPostBack){
                        intTotalQuestion = xNav.Select("/quiz/mchoice").Count;
                              ViewState["StartTime"] = DateTime.Now;
                              ShowQuestion(intQuestionNo);
                        }
                  }

                  private void btnSubmit_Click(object src, EventArgs e) {

                        intTotalQuestion = (int)this.ViewState["TotalQuestion"];
                        intQuestionNo = (int)this.ViewState["QuestionNo"];
                        intScore = (int)this.ViewState["Score"];
                        arrAnswerHistory = (System.Collections.ArrayList)this.ViewState["AnswerHistory"];

                        if(rblAnswer.SelectedItem.Value == (string)this.ViewState["CorrectAnswer"]) {
                              intScore += 1;
                              arrAnswerHistory.Add(0);
                        }
                  
                        arrAnswerHistory.Add(rblAnswer.SelectedItem.Value);

                        if(intQuestionNo==intTotalQuestion) {

                              QuizScreen.Visible = false;
                              ResultScreen.Visible = true;
                              ShowResult();

                        }

                        QuizScreen.Visible = true;
                        ResultScreen.Visible = false;
                        intQuestionNo += 1;
                 
                        ShowQuestion(intQuestionNo);
                  }

                  private void ShowQuestion(int intQuestionNo) {
                        string strXPath;
                        int intLoop;
                        TimeSpan objTimeSpent;

                        strXPath = "/quiz/mchoice[intQuestionNo.ToString()]";

                        xNodeIterator = xNav.Select(strXPath + "/question");
                        xNodeIterator.MoveNext();
                        lblQuestion.Text = intQuestionNo.ToString() + ". " + xNodeIterator.Current.Value;

                        xNodeIterator = xNav.Select(strXPath + "/answer");

                        rblAnswer.Items.Clear();

                        intLoop = 0;
                        while(xNodeIterator.MoveNext()){
                              intLoop += 1;
                              rblAnswer.Items.Add(new ListItem(xNodeIterator.Current.Value, intLoop.ToString()));

                              if(xNodeIterator.Current.GetAttribute("correct","") == "yes") {
                                    ViewState["CorrectAnswer"] = intLoop;
                              }
                        }
                        lblTotalQuestion.Text = intTotalQuestion.ToString();

                        objTimeSpent = DateTime.Now.Subtract((DateTime)this.ViewState["StartTime"]);
                        lblTimeSpent.Text = objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();

                        ViewState["TotalQuestion"] = intTotalQuestion;
                        ViewState["Score"] = intScore;
                        ViewState["QuestionNo"] = intQuestionNo;
                        ViewState["AnswerHistory"] = arrAnswerHistory;

                  }

                  private void ShowResult() {
                        string strResult;
                        int intLoop;
                        string strXPath;
                        TimeSpan objTimeSpent;
                      
                        objTimeSpent = DateTime.Now.Subtract((DateTime)this.ViewState["StartTime"]);

                        strResult  = "<center>";
                        strResult += "<h3>Quiz Result</h3>";
                        strResult += "<p>Points: " + intScore.ToString() + " of " + intTotalQuestion.ToString();
                        strResult += "<p>Your Competency: " + (intScore/intTotalQuestion*100).ToString() + "%%";
                        strResult += "<p>Time Spent: " + objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();
                        strResult += "</center>";

                        strResult += "<h3>Quiz Breakdown:</h3>";
                        for(intLoop=1;intLoop<=intTotalQuestion;intLoop++) {
                              strXPath = "/quiz/mchoice[" + intLoop.ToString() + "]";
                              xNodeIterator = xNav.Select(strXPath + "/question");
                              xNodeIterator.MoveNext();
                              strResult += "<b>" + intLoop.ToString() + ". " + xNodeIterator.Current.Value + "</b><br>";
                              if((arrAnswerHistory.Count - 1) == 0) {
                                    strResult += "<b>Correct</b><br><br>";
                              } else {
                                    xNodeIterator = xNav.Select(strXPath + "/answer[" + (arrAnswerHistory.Count - 1).ToString() + "]");
                                    xNodeIterator.MoveNext();
                                    strResult += "<b>You answered:</b> " + xNodeIterator.Current.Value + "<br>";
                                    strResult += "<b>Incorrect</b></font><br><br>";
                              }
                        }

                        lblResult.Text = strResult;
                  }
            }
}
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11681743
whhat line ? I cant compile here
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 6

Author Comment

by:Praesidium
ID: 11681964
XPathNavigator xNav = xDoc.CreateNavigator();
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11682054
yes those should have private in front of them ... I wasnt quite sure if that code was intended to be there or not.
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11682067
move the news to the constructor ...

private XPathNavigator foo;


then instantiate it in the constructor.
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11682074
you can only use static members for initialization like that ... instance members require you to use the constructor to perform the operation.
0
 
LVL 6

Author Comment

by:Praesidium
ID: 11682506
Okay, I got it to compile correctly, I didn't realize I could only use static members...  The code complied like I said, and the page runs with no exceptions... HOWEVER...  It doesn't retrieve the document... I think it must be something simple I'm overlooking...

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.XPath;


namespace Pace
{
      /// <summary>
      /// Summary description for quiz.
      /// </summary>
      public class quiz : System.Web.UI.Page{
                        
                  protected Button btnSubmit;
                  protected Label lblQuestion;
                  protected RadioButtonList rblAnswer;
                  protected Label lblTotalQuestion;
                  protected Label lblTimeSpent;
                  protected Label lblResult;
                  protected Panel QuizScreen;
                  protected Panel ResultScreen;
                  
                  XPathNavigator xNav;
                  XPathDocument xDoc;
                  XPathNodeIterator xNodeIterator;
                  System.Collections.ArrayList arrAnswerHistory = new ArrayList();
                  
                  int intTotalQuestion;
                  int intQuestionNo;
                  int intScore;
                  protected override void OnInit(EventArgs e) {
                        base.OnInit(e);
                        this.InitializeComponent();

                        string strXmlDoc = "default.xml";
                        string strXmlFilePath = Server.MapPath("~/media/quizzes/default.xml" );
                        XPathDocument xDoc = new XPathDocument(strXmlFilePath);
                        XPathNavigator xNav = xDoc.CreateNavigator();
                  }

                  private void InitializeComponent() {
                        this.btnSubmit.Click += new EventHandler(this.btnSubmit_Click);
                  }
                  
                  public static void Main() {
                                          
                  }

                  private void Page_Load(object sender, System.EventArgs e){
                        this.Main();

                        if(!Page.IsPostBack){
                              intTotalQuestion = xNav.Select("/quiz/mchoice").Count;
                              ViewState["StartTime"] = DateTime.Now;
                              ShowQuestion(intQuestionNo);
                        }
                  }

                  private void btnSubmit_Click(object src, EventArgs e) {

                        intTotalQuestion = (int)this.ViewState["TotalQuestion"];
                        intQuestionNo = (int)this.ViewState["QuestionNo"];
                        intScore = (int)this.ViewState["Score"];
                        arrAnswerHistory = (System.Collections.ArrayList)this.ViewState["AnswerHistory"];

                        if(rblAnswer.SelectedItem.Value == (string)this.ViewState["CorrectAnswer"]) {
                              intScore += 1;
                              arrAnswerHistory.Add(0);
                        }
                  
                        arrAnswerHistory.Add(rblAnswer.SelectedItem.Value);

                        if(intQuestionNo==intTotalQuestion) {

                              QuizScreen.Visible = false;
                              ResultScreen.Visible = true;
                              ShowResult();

                        }

                        QuizScreen.Visible = true;
                        ResultScreen.Visible = false;
                        intQuestionNo += 1;
                 
                        ShowQuestion(intQuestionNo);
                  }

                  private void ShowQuestion(int intQuestionNo) {
                        string strXPath;
                        int intLoop;
                        TimeSpan objTimeSpent;

                        strXPath = "/quiz/mchoice[intQuestionNo.ToString()]";

                        xNodeIterator = xNav.Select(strXPath + "/question");
                        xNodeIterator.MoveNext();
                        lblQuestion.Text = intQuestionNo.ToString() + ". " + xNodeIterator.Current.Value;

                        xNodeIterator = xNav.Select(strXPath + "/answer");

                        rblAnswer.Items.Clear();

                        intLoop = 0;
                        while(xNodeIterator.MoveNext()){
                              intLoop += 1;
                              rblAnswer.Items.Add(new ListItem(xNodeIterator.Current.Value, intLoop.ToString()));

                              if(xNodeIterator.Current.GetAttribute("correct","") == "yes") {
                                    ViewState["CorrectAnswer"] = intLoop;
                              }
                        }
                        lblTotalQuestion.Text = intTotalQuestion.ToString();

                        objTimeSpent = DateTime.Now.Subtract((DateTime)this.ViewState["StartTime"]);
                        lblTimeSpent.Text = objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();

                        ViewState["TotalQuestion"] = intTotalQuestion;
                        ViewState["Score"] = intScore;
                        ViewState["QuestionNo"] = intQuestionNo;
                        ViewState["AnswerHistory"] = arrAnswerHistory;

                  }

                  private void ShowResult() {
                        string strResult;
                        int intLoop;
                        string strXPath;
                        TimeSpan objTimeSpent;
                      
                        objTimeSpent = DateTime.Now.Subtract((DateTime)this.ViewState["StartTime"]);

                        strResult  = "<center>";
                        strResult += "<h3>Quiz Result</h3>";
                        strResult += "<p>Points: " + intScore.ToString() + " of " + intTotalQuestion.ToString();
                        strResult += "<p>Your Competency: " + (intScore/intTotalQuestion*100).ToString() + "%%";
                        strResult += "<p>Time Spent: " + objTimeSpent.Minutes.ToString() + ":" + objTimeSpent.Seconds.ToString();
                        strResult += "</center>";

                        strResult += "<h3>Quiz Breakdown:</h3>";
                        for(intLoop=1;intLoop<=intTotalQuestion;intLoop++) {
                              strXPath = "/quiz/mchoice[" + intLoop.ToString() + "]";
                              xNodeIterator = xNav.Select(strXPath + "/question");
                              xNodeIterator.MoveNext();
                              strResult += "<b>" + intLoop.ToString() + ". " + xNodeIterator.Current.Value + "</b><br>";
                              if((arrAnswerHistory.Count - 1) == 0) {
                                    strResult += "<b>Correct</b><br><br>";
                              } else {
                                    xNodeIterator = xNav.Select(strXPath + "/answer[" + (arrAnswerHistory.Count - 1).ToString() + "]");
                                    xNodeIterator.MoveNext();
                                    strResult += "<b>You answered:</b> " + xNodeIterator.Current.Value + "<br>";
                                    strResult += "<b>Incorrect</b></font><br><br>";
                              }
                        }

                        lblResult.Text = strResult;
                  }
            }
}
0
 
LVL 3

Accepted Solution

by:
dukkorg earned 500 total points
ID: 11682556
You could also compile your VB.Net (or any other CLR language) code and use Reflector .Net found here: http://www.aisto.com/roeder/dotnet/ with this add-on: http://www.denisbauer.com/NETTools/FileDisassembler.aspx to decompile it to C#, Delphi.Net, or IL this works very well but also some minor bugs now and then.

I wouldn't be surprised if this is what the people that posted did (or if they didn't they should have).

Just for future reference... I wouldn't want you to waste your points.
0
 
LVL 6

Author Comment

by:Praesidium
ID: 11682641
They are unlimited, I'm not worried about those... Thanks a ton for the tip though!
0
 
LVL 19

Expert Comment

by:Desp
ID: 11683007

nice link and and good quote TAD ;)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Log4Net custom Appender not being fired. 5 74
C# GridRow get Old/New Value 1 55
Problem to error 4 43
SQL Query Producing decimal places when it shouldn;t be 8 35
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…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

911 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now