Files
core/ASCOfficePPTFile/trunk/Records/CString.h

41 lines
1006 B
C++

#pragma once
#include "..\Reader\Records.h"
class CRecordCString : public CUnknownRecord
{
public:
CStringW m_strText;
public:
CRecordCString()
{
}
~CRecordCString()
{
}
virtual void ReadFromStream(SRecordHeader oHeader, IStream* pStream)
{
m_oHeader = oHeader;
m_strText = StreamUtils::ReadCStringW(pStream, m_oHeader.RecLen / 2);
}
virtual CString ToString()
{
XmlUtils::CXmlWriter oWriter;
CString strName = GetRecordName((DWORD)m_oHeader.RecType);
oWriter.WriteNodeBegin(strName, TRUE);
oWriter.WriteAttribute(_T("length"), CDirectory::ToString(m_oHeader.RecLen));
oWriter.WriteAttribute(_T("type"), CDirectory::ToString(m_oHeader.RecType));
oWriter.WriteAttribute(_T("instance"), CDirectory::ToString(m_oHeader.RecInstance));
oWriter.WriteNodeEnd(strName, TRUE, FALSE);
CDirectory::WriteValueToNode(_T("String"), (CString)m_strText, &oWriter);
oWriter.WriteNodeEnd(strName);
return oWriter.GetXmlString();
}
};