Exemplo n.º 1
0
void CGenethonDoc::writeToReport(CString& output) {
    if (m_pTextView == NULL) {

        ((CMainFrame *)(AfxGetApp()->m_pMainWnd))->OpenTextView();
    }
    else {

        m_pTextView->GetParentFrame()->ActivateFrame();
        m_pTextView->Invalidate();
    }

    CMemFile* memFile = new CMemFile();
    //serialize object into the pData
    //	char* cBuff = new char[128];
    //	sprintf_s(cBuff, 128, "%s", "Test test test test test test\n");

    memFile->Write(output, output.GetLength());
    memFile->SeekToBegin();

    //	txtFile->Open(PathName, CFile::modeRead);
    //	CArchive archive(&txtFile, CArchive::load);

    //	SerializeRaw( archive );
    m_pTextView->LoadMemfile(memFile);

    memFile->Close();
    delete memFile;
}
DWORD SupFileSubtitleProvider::ThreadProc()
{
    CFile f;
    if (!f.Open(m_fname, CFile::modeRead|CFile::typeBinary|CFile::shareDenyNone)) {
        return 1;
    }

    f.SeekToBegin();

    CMemFile sub;
    sub.SetLength(f.GetLength());
    sub.SeekToBegin();

    int len;
    BYTE buff[65536];
    while ((len = f.Read(buff, sizeof(buff))) > 0) {
        sub.Write(buff, len);
    }
    sub.SeekToBegin();

    WORD sync              = 0;
    USHORT size            = 0;
    REFERENCE_TIME rtStart = 0;

    CAutoLock cAutoLock(&m_csCritSec);
    while (sub.GetPosition() < (sub.GetLength() - 10)) {
        sync = (WORD)ReadByte(&sub, 2);
        if (sync == 'PG') {
            rtStart = UINT64(ReadByte(&sub, 4) * (1000 / 9));
            sub.Seek(4 + 1, CFile::current); // rtStop + Segment type
            size = ReadByte(&sub, 2) + 3;    // Segment size
            sub.Seek(-3, CFile::current);
            sub.Read(buff, size);
            m_pSub->ParseSample(buff, size, rtStart, 0);
        } else {
            break;
        }
    }

    sub.Close();

    return 0;
}
Exemplo n.º 3
0
CMapMgrDoc::CMapMgrDoc() {
	// TODO: add one-time construction code here
	HRSRC hRes = ::FindResource( AfxGetResourceHandle(), "HIST_UNCOMPR", "COLORPARAM" );
	if( NULL != hRes ) {
		HGLOBAL	hMem = ::LoadResource( AfxGetResourceHandle(), hRes );
		DWORD	dwSize = ::SizeofResource( AfxGetResourceHandle(), hRes );
		HPBYTE pData = (HPBYTE) ::LockResource( hMem );
		CMemFile memFile;
		memFile.Write( (LPVOID) pData, dwSize );
		memFile.SeekToBegin();

		CArchive	ar( &memFile, CArchive::load );
		WORD v;		// Version
		ar >> v;
		m_listOfFilters.Serialize( ar );

		UnlockResource( hMem );
		FreeResource( hMem );
	}
Exemplo n.º 4
0
void CFTPProtocolOutput::WriteLine(const CString& cszLine, COLORREF crText)
{
   if( m_hWnd )
   {
      CHARFORMAT cf;
      cf.dwMask    = CFM_BOLD|CFM_COLOR;
      cf.dwEffects = CFE_BOLD;
      cf.crTextColor = crText;

      CMemFile mf;
      mf.Write(nsHelper::CCnv::ConvertToString(tstring(cszLine)).c_str(), cszLine.GetLength());
      mf.SeekToBegin();
   
      SetSelectionCharFormat(cf);

      EDITSTREAM es;
      es.dwCookie = reinterpret_cast<DWORD_PTR>(&mf);
      es.pfnCallback = CFTPProtocolOutput::ProtocolStreamInCallback; 
      StreamIn(SF_TEXT|SFF_SELECTION, es);
      SetSel(-1, -1);
      LineScroll(1);
   }
}
Exemplo n.º 5
0
//****************************************************************************************
BOOL CBCGPGridSerializeManager::PrepareDataFromSelection ()
{
	ASSERT (m_pOwnerGrid != NULL);

	CleanUp ();

	if (m_pOwnerGrid != NULL)
	{
		m_nLastColumn = m_pOwnerGrid->GetColumnsInfo ().GetColumnCount (TRUE) - 1;
		m_nLastRow = m_pOwnerGrid->GetTotalRowCount () - 1;
	}

	if (m_ClipboardFormatType == CF_Rows)
	{
		if (!m_pOwnerGrid->NormalizeSelectionList ())
		{
			return FALSE;
		}
	}

	//---------------------
	// Calculate min offset
	//---------------------
	int i = 0;
	CBCGPGridItemID idOffset (-1, -1);
	for (i = 0; i < m_pOwnerGrid->GetSelectionCount (); i++)
	{
		CBCGPGridRange rangeIndex, rangeOrder;
		if (m_pOwnerGrid->GetSelection (i, rangeIndex) && 
			IndexToOrder (rangeIndex, rangeOrder))
		{
			const int nRow = (rangeOrder.m_nTop != -1) ? rangeOrder.m_nTop: 0;
			const int nCol = (rangeOrder.m_nLeft != -1) ? rangeOrder.m_nLeft: 0;
			
			if (idOffset.m_nRow == -1 || nRow <= idOffset.m_nRow)
			{
				idOffset.m_nRow = nRow;
			}
			
			if (idOffset.m_nColumn == -1 || nCol <= idOffset.m_nColumn)
			{
				idOffset.m_nColumn = nCol;
			}

			if (idOffset.m_nRow == -1 || 
				idOffset.m_nRow == 0 && idOffset.m_nRow == m_nLastRow)
			{
				m_bWholeColSelected = TRUE;
			}

			if (idOffset.m_nColumn == -1 || 
				idOffset.m_nColumn == 0 && idOffset.m_nColumn == m_nLastColumn)
			{
				m_bWholeRowSelected = TRUE;
			}
		}
	}
	
	if (idOffset.m_nRow == -1)
	{
		idOffset.m_nRow = 0;
	}
	if (idOffset.m_nColumn == -1)
	{
		idOffset.m_nColumn = 0;
	}

	ASSERT (idOffset.m_nRow >= 0);
	ASSERT (idOffset.m_nColumn >= 0);
	m_idRangesOffset = idOffset;

	//------------------------------
	// Prepare serialized selection:
	//------------------------------
	for (i = 0; i < m_pOwnerGrid->GetSelectionCount (); i++)
	{
		CBCGPGridRange rangeIndex, rangeOrder;
		if (m_pOwnerGrid->GetSelection (i, rangeIndex) &&
			IndexToOrder (rangeIndex, rangeOrder))
		{
			const int nRowOffset = (rangeOrder.m_nTop != -1) ? rangeOrder.m_nTop - m_idRangesOffset.m_nRow: 0;
			const int nColOffset = (rangeOrder.m_nLeft != -1) ? rangeOrder.m_nLeft - m_idRangesOffset.m_nColumn: 0;
		
			CBCGPGridRange rangeRelative (
				nColOffset, 
				nRowOffset, 
				nColOffset + (rangeOrder.m_nRight - rangeOrder.m_nLeft), 
				nRowOffset + (rangeOrder.m_nBottom - rangeOrder.m_nTop));

			try
			{
				CMemFile f;

				CArchive archive (&f, CArchive::store | CArchive::bNoFlushOnDelete);
				if (m_ClipboardFormatType == CF_Items)
				{
					WriteItemsToArchive (archive, rangeOrder);
				}
				else if (m_ClipboardFormatType == CF_Rows)
				{
					WriteRowsToArchive (archive, rangeOrder);
				}
				archive.Close ();

				if (f.GetLength () <= 0)
				{
					return FALSE;
				}
				
				UINT	cbSize = (UINT)f.GetLength ();
				BYTE*	pData = new BYTE[cbSize];
				
				if (NULL == pData)
				{
					delete [] pData;
					return FALSE;
				}
				
				f.SeekToBegin ();
				if (f.Read (pData, cbSize) != cbSize)
				{
					delete [] pData;
					return FALSE;
				}
				
				AddRange (rangeRelative, cbSize, pData);
			}
			catch (CFileException* pEx)
			{
				TRACE(_T("CBCGPGridSerializeManager::PrepareDataFromSelection. File exception\r\n"));
				pEx->Delete ();
				
				return FALSE;
			}
			catch (CException* e)
			{
				TRACE(_T("CBCGPGridSerializeManager::PrepareDataFromSelection. Exception\r\n"));
				e->Delete ();
				return FALSE;
			}
		}
	}

	return TRUE;
}
Exemplo n.º 6
0
//*********************************************************************************
static void openSnapshotTestSectrion()
{
    CTBSection xCurrentUser;
    xCurrentUser.Open(&CTBSection::tbRootSection, "CurrentUser");

    CTBSection xSnapshotTest;
    xSnapshotTest.Open(&xCurrentUser, "SnapshotTest", TBOPEN_MODE_SNAPSHOT);
    
    CString strName;
    DWORD dwType = 0;
    int nTop = 0;

    BOOL more = xSnapshotTest.GetFirstItem(strName, dwType);
    while(more)
    {
        TEST_VERIFY((dwType == TBVTYPE_LONGBINARY) == (strName == "Blob1"));
        TEST_VERIFY((dwType == TBVTYPE_SECTION) == (strName == "Section1"));

        if(dwType != TBVTYPE_LONGBINARY && dwType != TBVTYPE_SECTION)
        {
            CTBValue value;
            CString prefix;
            long index = 0;
            sscanf(strName, "%s %d", prefix.GetBuffer(10), &index);

            if(prefix == "Name")
            {
                if(nTop < index) nTop = index;
                TEST_VERIFY(dwType == TBVTYPE_TEXT);
                xSnapshotTest.GetValue(strName, &value);
                TEST_VERIFY(strcmp(value.m_pValue->data.text, "Name") == 0);
            }
            else if(prefix == "Age")
            {
                if(nTop < index) nTop = index;
                TEST_VERIFY(dwType == TBVTYPE_INTEGER);
                xSnapshotTest.GetValue(strName, &value);
                TEST_VERIFY(value.m_pValue->data.int32 == index);
            }
        }
        more = xSnapshotTest.GetNextItem(strName, dwType);
    }

    TEST_VERIFY(nTop == 199);

    CTBSection xSection1;
    xSection1.Open(&xSnapshotTest, "Section1");
    xSection1.Close();

    //--------------------------------------------------------------
    CMemFile memFile;
    xSnapshotTest.GetLongBinary("Blob1", &memFile);
    memFile.SeekToBegin();

    for(int i = 0; i < 64; ++i)
    {
        BYTE buff[1024] = {0};
        BYTE buff2[1024] = {0};

        memset(buff2, i, sizeof(buff2));
        memFile.Read(buff, sizeof(buff));

        TEST_VERIFY(memcmp(buff, buff2, 1024) == 0);
    }
    //--------------------------------------------------------------
    TEST_VERIFY(memFile.GetPosition() == memFile.GetLength());

    xSnapshotTest.Close();
}