Esempio n. 1
0
// Write an xml report for given two documents to given path
void XmlReport::WriteXmlReport (wxString save_report_path, int doc1, int doc2)
{
	if (_file.Open(save_report_path, wxFile::write))
	{
		_file.Write ("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
		_file.Write ("<?xml-stylesheet type=\"text/xsl\" href=\"uhferret.xsl\" ?>\n");
		_file.Write ("<uhferret>\n");
		// -- write document comparison summary
		_file.Write (wxString::Format ("<common-trigrams>%d</common-trigrams>\n",
					_doclist.CountMatches (doc1, doc2, _unique)));
		_file.Write (wxString::Format ("<similarity>%f</similarity>\n",
					_doclist.ComputeResemblance (doc1, doc2, _unique)));
    if (_unique)
    {
      _file.Write ("(Pairwise similarity ignores trigrams in common with other documents)");
    }
		// -- write out document 1
		WriteDocumentHeader (doc1, doc2);
		WriteDocument (doc1, doc2);
		// -- write out document 2
		WriteDocumentHeader (doc2, doc1);
		WriteDocument (doc2, doc1);

		_file.Write("</uhferret>\n");

		_file.Close ();
	}
}
Esempio n. 2
0
// 输出日志2,在m_logExplorer写日志
void CLog::DoLog(const CString* output)
{
	if (m_logDocument.p == NULL)
	{
		delete output;
		return;
	}

	WriteDocument(*output);
	delete output;

	// 滚动到底端
	CComPtr<IHTMLElement> body;
	m_logDocument->get_body(&body);
	// 取ID
	static LPOLESTR scrollHeightName = OLESTR("scrollHeight"), scrollTopName = OLESTR("scrollTop");
	static DISPID scrollHeightID = -1, scrollTopID = -1;
	if (scrollHeightID == -1)
		body->GetIDsOfNames(IID_NULL, &scrollHeightName, 1, LOCALE_SYSTEM_DEFAULT, &scrollHeightID);
	if (scrollTopID == -1)
		body->GetIDsOfNames(IID_NULL, &scrollTopName, 1, LOCALE_SYSTEM_DEFAULT, &scrollTopID);
	// body.scrollTop = body.scrollHeight
	DISPPARAMS params = {};
	_variant_t scrollHeight;
#pragma warning(suppress: 6102)
	if (scrollHeightID != -1)
		body->Invoke(scrollHeightID, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYGET, &params,
			scrollHeight.GetAddress(), NULL, NULL);
	params.cArgs = 1;
	params.rgvarg = &scrollHeight;
#pragma warning(suppress: 6102)
	if (scrollTopID != -1)
		body->Invoke(scrollTopID, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYPUT, &params, NULL, NULL, NULL);
}
Esempio n. 3
0
// 初始化
void CLog::Init()
{
	// 取document
	m_logExplorer.Navigate(_T("about:blank"), NULL, NULL, NULL, NULL);
	while (TRUE)
	{
		Delay(1);
		CComDispatchDriver disp(m_logExplorer.get_Document());
		if (disp.p == NULL)
			continue;
		if (SUCCEEDED(disp->QueryInterface(&m_logDocument)))
			break;
	}

	// 写框架
	WriteDocument(LOG_FRAME);

	// 屏蔽右键菜单、监听Log消息
	m_explorerHwnd = m_logExplorer.m_hWnd;
	EnumChildWindows(m_explorerHwnd, EnumChildProc, (LPARAM)&m_explorerHwnd);
	s_oldExplorerWndProc = (WNDPROC)SetWindowLong(m_explorerHwnd, GWL_WNDPROC, (LONG)ExplorerWndProc);

	// 日志开始时间
	GetLocalTime(&m_logStartTime);
}
Esempio n. 4
0
BOOL DocRoot::SaveDocument(const char* pszPathName)
  {
  if (gs_Exec.Busy())
    {
    LogError("SysCAD", 0, "Must not be running");
    return False;
    }
  char Fn[512];
  CString TmpFn;
  if (pszPathName==NULL)
    {
    TmpFn=GetTitle();
    pszPathName = TmpFn.GetBuffer(0);
    }
  
  if (strpbrk(pszPathName, ":\\")==NULL)
    {
    strcpy(Fn, PrjFiles());
    strcat(Fn, pszPathName);
    }
  else
    strcpy(Fn, pszPathName);

  CString Ext;
  VERIFY(GetDocTemplate()->GetDocString(Ext, CDocTemplate::filterExt));
  pchar ext=Ext.GetBuffer(0);
  const int l=strlen(Fn);
  const int el=strlen(ext);
  if (l<=el)
    strcat(Fn, ext);
  else if (_stricmp(&Fn[l-el], ext)!=0)
    {
    if (Fn[l-el]=='.')
      Fn[l-el]=0; //"old" or "incorect" extension needs to be replaced
    strcat(Fn, ext);
    }

  FILE* pFile= fopen(Fn, "wt");
  flag b=(pFile!=NULL);

  if (b)
    b=WriteDocument(Fn, pFile);

  if (pFile) 
    fclose(pFile);
  if (b)
    {
    SetPathName(Fn);
    SetModifiedFlag(FALSE);
    gs_pCmd->Print("%s - Saved\n", Fn);
    }
  else
    {
    gs_pCmd->Print("%s - NOT SAVED\n", Fn);
    }
  return b;
  }
Esempio n. 5
0
// 清空日志
void CLog::Clear()
{
	if (m_logDocument.p == NULL)
		return;

	IDispatch* tmp;
	m_logDocument->open(_T("about:blank"), variant_t(), variant_t(), variant_t(), &tmp);
	tmp->Release();
	WriteDocument(LOG_FRAME);
	GetSystemTime(&m_logStartTime);
}
Esempio n. 6
0
	RESULTCODE DescribeCsvResponse::Write(WebWriter* pWriter)
	{
		if(pWriter==NULL)
		{
			return AG_FAILURE;
		}

		XDocument* pxDoc = new XDocument();
		WriteDocument(pxDoc);

		int len = 0;
		g_uchar* buffer = NULL;
		GLogger* pLogger = augeGetLoggerInstance();

		pxDoc->WriteToString(&buffer, len, m_pRequest->GetEncoding(),1);
		
		pWriter->WriteHead(m_pRequest->GetMimeType(),false);
		pWriter->Write(buffer, len);
		pWriter->WriteTail();

		pLogger->Info((g_char*)buffer);

		return AG_SUCCESS;
	}