// static void => call it if you want to raise the HtmlParsingDoneEvent public static void ParseHtml(string sFullPath, int iMaxTimeExecution, HtmlParsingDoneEventHandler myHtmlParsingDoneEvent) { using (HTMLParserWrapper myHTMLParser = new HTMLParserWrapper(sFullPath, iMaxTimeExecution, myHtmlParsingDoneEvent)) { // nothing to do } }
// initialization private void Initialization(string sFullPath, int iMaxTimeExecution, HtmlParsingDoneEventHandler myHtmlParsingDoneEvent) { // init attributes m_HtmlParsingDoneEventHandler = myHtmlParsingDoneEvent; m_cHtmlParser.HtmlParsingDoneEvent += MyHtmlParsingDoneEvent; // start parsing m_cHtmlParser.StartParsing(sFullPath, string.Empty); // waiting for parsing done m_bParsed = false; // set parsing flag to false DateTime dtStartTime = DateTime.Now; while (!m_bParsed) { System.Windows.Forms.Application.DoEvents(); DateTime dtEndTime = DateTime.Now; TimeSpan tsDiff = dtEndTime.Subtract(dtStartTime); if (iMaxTimeExecution < tsDiff.TotalMilliseconds) { throw new Exception("Error during html parsing."); } } }
// initialization private void Initialization(string sFullPath, int iMaxTimeExecution, HtmlParsingDoneEventHandler myHtmlParsingDoneEvent) { // init attributes m_HtmlParsingDoneEventHandler = myHtmlParsingDoneEvent; m_cHtmlParser.HtmlParsingDoneEvent += MyHtmlParsingDoneEvent; // start parsing m_cHtmlParser.StartParsing(sFullPath, string.Empty); // waiting for parsing done m_bParsed = false; // set parsing flag to false DateTime dtStartTime = DateTime.Now; while (!m_bParsed) { System.Windows.Forms.Application.DoEvents(); DateTime dtEndTime = DateTime.Now; TimeSpan tsDiff = dtEndTime.Subtract(dtStartTime); if (iMaxTimeExecution < tsDiff.TotalMilliseconds) throw new Exception("Error during html parsing."); } }
// private constructor 2 private HTMLParserWrapper(string sFullPath, int iMaxTimeExecution, HtmlParsingDoneEventHandler myHtmlParsingDoneEvent) { Initialization(sFullPath, iMaxTimeExecution, myHtmlParsingDoneEvent); }