Code Project

Link Unit

Monday, May 25, 2009

FileHelpers : Strong type your flat file

We were working on a project, where it required to read a pipe separated values from the file. This is how we were doing it earlier




          StreamReader sr = new StreamReader(lstrFilePath);

          while ((lstrReadLine = sr.ReadLine()) != null)


                    string[] lstrsplit = lstrReadLine.Split(new Char[] { '|' });

                    string lstrCOMP_NAME = lstrsplit[1];

                    string lstrFULL_NAME = lstrsplit[2];

                    string lstrFATHER_NAME = lstrsplit[3];

                    string lstrDESIGNATION = lstrsplit[4];


                    rowInsert["COMP_NAME"] = lstrCOMP_NAME;

                    rowInsert["FULL_NAME"] = lstrFULL_NAME;

                    rowInsert["FATHER_NAME"] = lstrFATHER_NAME;

                    rowInsert["DESIGNATION"] = lstrDESIGNATION;






catch(Exception e)



// Error Logging





// Will always be called

 if (sr != null) // This check can be ignored though




We started looking for a class (Helper Class), which can import/export flat files into DataTable/Array.

Then came across this useful dll FileHelpers. We converted our previous code to the one written below


Step 1) Created a class in .cs file and specify deliminator , which was | (pipe) in our case


 public class Anxeure  


     public string COMP_NAME;  


     public string FULL_NAME;  


     public string FATHER_NAME;  


     public string DESIGNATION;  


     //..... and other columns in the sequence they will come in file.





 Step 2) Create an instance of FileHelperEngine and read the file.


 FileHelperEngine engine = new FileHelperEngine(typeof(Anxeure));  


 // To Read Use:  

 Anxeure[] res = engine.ReadFile("FileIn.txt") as Anxeure[];  


//We could also export the data thus created after doing some manipulation

engine.WriteFile("FileOut.txt", res);  


It is amazing how by writing two statements we could achieve a strongly typed output. Great


Hope it helps




Tuesday, May 19, 2009

Tip to optimize C# Refactoring in Web Projects

I usally do the refactoring of the web application code developed over period of time to make it more managable. But most of the time VS take too long that it becomes better to do refactoring on your own.Later I decided to read some blog posts to see whether someone has work on Optimising Refactor. After googling around for a while, I found the solution.

Scott has posted a great tip for speeding up refactoring performance with Web Projects in VS 2005.


  1. Click Start->Run in Windows and run "regedit"
  2. Navigate to this registry location: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\CSharp\Options\Editor
  3. Right-click on the Editor node and choose "New DWORD value"
  4. Name the value "OpenAllVenusFilesOnRefactor" and leave the value as 0

Then, when you restart VS 2005 and perform a re-factoring - you should find performance very fast.


This hack basically turns off the refactoring functionality beyond the current page and so it's pretty fast. It looks like this has been fixed in Visual Studio 2008 thankfully.

Hope it Helps

Monday, May 11, 2009

JavaScript : Convert Ok/Cancel into Yes/No

Just came across a post, brilliant way to change the confirm box from ok n cancel to yes n no


Found the info on the link


Here is the code:


<script language=javascript>


/*@cc_on @*/

/*@if (@_win32 && @_jscript_version>=5)


function window.confirm(str)


    execScript('n = msgbox("'+str+'","4132")', "vbscript");

    return(n == 6);



@end @*/



Hope visitors find it useful.