⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nsflog.cpp

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 CPP
📖 第 1 页 / 共 5 页
字号:

		case LNCOLOR_RED :	
			return "LNCOLOR_RED";

		case LNCOLOR_GREEN :	
			return "LNCOLOR_GREEN";

		case LNCOLOR_BLUE :	
			return "LNCOLOR_BLUE";

		case LNCOLOR_MAGENTA :	
			return "LNCOLOR_MAGENTA";

		case LNCOLOR_YELLOW :	
			return "LNCOLOR_YELLOW";

		case LNCOLOR_CYAN :	
			return "LNCOLOR_CYAN";

		case LNCOLOR_DARK_RED :	
			return "LNCOLOR_DARK_RED";

		case LNCOLOR_DARK_GREEN :	
			return "LNCOLOR_DARK_GREEN";

		case LNCOLOR_DARK_BLUE :	
			return "LNCOLOR_DARK_BLUE";

		case LNCOLOR_DARK_MAGENTA :	
			return "LNCOLOR_DARK_MAGENTA";

		case LNCOLOR_DARK_YELLOW :	
			return "LNCOLOR_DARK_YELLOW";

		case LNCOLOR_DARK_CYAN :	
			return "LNCOLOR_DARK_CYAN";

		case LNCOLOR_GRAY :	
			return "LNCOLOR_GRAY";

		case LNCOLOR_LIGHT_GRAY :	
			return "LNCOLOR_LIGHT_GRAY";

		default :

			sprintf(Buf, "%d", (int)FontColor);
			return (LNString)Buf;

	} // END switch (FontColor);

} // END NSFLog::GetFontColorString

//---------------------------------------------------------------------------
//
// Name:
//		NSFLog::GetFontFaceString
//
// Description:
//		Translates the Font Face ID Symbol value into a string 
//		representing the symbol that it represents.
//
//---------------------------------------------------------------------------
LNString NSFLog::GetFontFaceString( const LNFACEID FaceID )
{	
	switch (FaceID)
	{
		case LNFACEID_ROMAN :	
			return "LNFACEID_ROMAN";

		case LNFACEID_HELVETICA :	
			return "LNFACEID_HELVETICA";

		case LNFACEID_COURIER :	
			return "LNFACEID_COURIER";

		default:
			return "UNKNOWN OR UNEXPOSED";

	} // END switch (FaceID);

} // END NSFLog::GetFontFaceString

//---------------------------------------------------------------------------
//
// Name:
//		NSFLog::ProcessCompositeData
//
// Description:
//		Processes and Logs data about the current Rich Text Object which 
//		has been determined to be a Composite Data Record. 
//
// Remarks:
//
// The following is a Reference of Signatures for Composite Records 
// in items of data type COMPOSITE from ODS.H
// The ones with an asterisk ("*") are logged here.  
// SIG_CD_GRAPHIC and SIG_CD_BUTTON are fully processed.  
// The rest would be processed the same way and are left as a user exersize.
// (I dont have time to implement or maintain all of them!)
//
// * SIG_CD_PARAGRAPH
// * SIG_CD_PABDEFINITION
// * SIG_CD_PABREFERENCE
// * SIG_CD_TEXT
// * SIG_CD_HEADER
// * SIG_CD_LINKEXPORT2
// * SIG_CD_BITMAPHEADER
// * SIG_CD_BITMAPSEGMENT
// * SIG_CD_COLORTABLE
// * SIG_CD_GRAPHIC
// * SIG_CD_PMMETASEG
// * SIG_CD_WINMETASEG
// * SIG_CD_MACMETASEG
// * SIG_CD_CGMMETA
// * SIG_CD_PMMETAHEADER
// * SIG_CD_WINMETAHEADER
// * SIG_CD_MACMETAHEADER
// * SIG_CD_TABLEBEGIN
// * SIG_CD_TABLECELL
// * SIG_CD_TABLEEND
// * SIG_CD_STYLENAME
//
// Signatures for Composite Records that are reserved internal
// records, as of API release 4.1 Their format may change between releases.
//
// SIG_CD_DOCUMENT_PRE_26
// SIG_CD_FIELD_PRE_36
// SIG_CD_FIELD
// SIG_CD_DOCUMENT
// SIG_CD_METAFILE
// SIG_CD_BITMAP
// SIG_CD_FONTTABLE
// SIG_CD_LINK
// SIG_CD_LINKEXPORT
// SIG_CD_KEYWORD
// SIG_CD_LINK2
// SIG_CD_CGM
// SIG_CD_TIFF
// SIG_CD_PATTERNTABLE
// SIG_CD_DDEBEGIN
// SIG_CD_DDEEND
// SIG_CD_OLEBEGIN
// SIG_CD_OLEEND
// SIG_CD_HOTSPOTBEGIN
// SIG_CD_HOTSPOTEND
// * SIG_CD_BUTTON
// SIG_CD_BAR
// SIG_CD_V4HOTSPOTBEGIN
// SIG_CD_V4HOTSPOTEND
// SIG_CD_EXT_FIELD
// SIG_CD_LAYOUT
// SIG_CD_LAYOUTTEXT
// SIG_CD_LAYOUTEND
// SIG_CD_LAYOUTFIELD
// SIG_CD_PABHIDE
// SIG_CD_PABFORMREF
// SIG_CD_ACTIONBAR
// SIG_CD_ACTION
// SIG_CD_DOCAUTOLAUNCH
// SIG_CD_LAYOUTGRAPHIC
// SIG_CD_LAYOUTBUTTON
//
//	Saved Query records for items of type TYPE_QUERY
//
// SIG_QUERY_HEADER
// SIG_QUERY_TEXTTERM
// SIG_QUERY_BYFIELD
// SIG_QUERY_BYDATE
// SIG_QUERY_BYAUTHOR
// SIG_QUERY_FORMULA
// SIG_QUERY_BYFORM
// SIG_QUERY_BYFOLDER
// SIG_QUERY_USESFORM
// SIG_QUERY_TOPIC
//
//	Save Action records for items of type TYPE_ACTION
//
// SIG_ACTION_HEADER
// SIG_ACTION_MODIFYFIELD
// SIG_ACTION_REPLY
// SIG_ACTION_FORMULA
// SIG_ACTION_LOTUSSCRIPT
// SIG_ACTION_SENDMAIL
// SIG_ACTION_DBCOPY
// SIG_ACTION_DELETE
// SIG_ACTION_BYFORM
// SIG_ACTION_MARKREAD
// SIG_ACTION_MARKUNREAD
// SIG_ACTION_MOVETOFOLDER
// SIG_ACTION_COPYTOFOLDER
// SIG_ACTION_REMOVEFROMFOLDER
// SIG_ACTION_NEWSLETTER
// SIG_ACTION_RUNAGENT
// SIG_ACTION_SENDDOCUMENT
// SIG_ACTION_FORMULAONLY
//
// Signatures for items of type TYPE_VIEWMAP_DATASET
//
// SIG_VIEWMAP_DATASET
//
// Signatures for items of type TYPE_VIEWMAP
//
// SIG_CD_VMHEADER
// SIG_CD_VMBITMAP
// SIG_CD_VMRECT
// SIG_CD_VMPOLYGON
// SIG_CD_VMPOLYLINE
// SIG_CD_VMREGION
// SIG_CD_VMACTION
// SIG_CD_VMELLIPSE
// SIG_CD_VMRNDRECT
// SIG_CD_VMBUTTON
// SIG_CD_VMTEXTBOX
//
// 188-191 available for more TYPE_VIEWMAP records.
//
// SIG_CD_VMPOLYRGN
//
//---------------------------------------------------------------------------
void NSFLog::ProcessCompositeData( const LNRTObject &Obj, const LNINT recordcount )
{
	LNCompositeData	CD;
	WORD			cdsignature;

	CD = Obj;

	LogFile << endl;

	// Add a heading for the record to be logged.

	LogLabel( "     CD Record ", recordcount, 10);

	cdsignature = CD.GetCDSignature();

	switch ( cdsignature )
	{
		case SIG_CD_GRAPHIC :
			LogCDGraphic( CD );
			break;

		case SIG_CD_BUTTON :
			LogCDButton( CD );
			break;

		// The Rest of the CD Signatures just print out the type
		// First two were expanded as an example for the user
		// The rest of them will process the same way...

		case SIG_CD_PARAGRAPH :
			LogCDSignature( "SIG_CD_PARAGRAPH" );
			break;

		case SIG_CD_PABDEFINITION :
			LogCDSignature( "SIG_CD_PABDEFINITION" );
			break;

		case SIG_CD_PABREFERENCE :
			LogCDSignature( "SIG_CD_PABREFERENCE" );
			break;

		case SIG_CD_TEXT :
			LogCDSignature( "SIG_CD_TEXT" );
			break;

		case SIG_CD_HEADER :
			LogCDSignature( "SIG_CD_HEADER" );
			break;

		case SIG_CD_LINKEXPORT2 :
			LogCDSignature( "SIG_CD_LINKEXPORT2" );
			break;

		case SIG_CD_BITMAPHEADER :
			LogCDSignature( "SIG_CD_BITMAPHEADER" );
			break;

		case SIG_CD_BITMAPSEGMENT :
			LogCDSignature( "SIG_CD_BITMAPSEGMENT" );
			break;

		case SIG_CD_COLORTABLE :
			LogCDSignature( "SIG_CD_COLORTABLE" );
			break;

		case SIG_CD_PMMETASEG :
			LogCDSignature( "SIG_CD_PMMETASEG" );
			break;

		case SIG_CD_WINMETASEG :
			LogCDSignature( "SIG_CD_WINMETASEG" );
			break;

		case SIG_CD_MACMETASEG :
			LogCDSignature( "SIG_CD_MACMETASEG" );
			break;

		case SIG_CD_CGMMETA :
			LogCDSignature( "SIG_CD_CGMMETA" );
			break;

		case SIG_CD_PMMETAHEADER :
			LogCDSignature( "SIG_CD_PMMETAHEADER" );
			break;

		case SIG_CD_WINMETAHEADER :
			LogCDSignature( "SIG_CD_WINMETAHEADER" );
			break;

		case SIG_CD_MACMETAHEADER :
			LogCDSignature( "SIG_CD_MACMETAHEADER" );
			break;

		case SIG_CD_TABLEBEGIN :
			LogCDSignature( "SIG_CD_TABLEBEGIN" );
			break;

		case SIG_CD_TABLECELL :
			LogCDSignature( "SIG_CD_TABLECELL" );
			break;

		case SIG_CD_TABLEEND :
			LogCDSignature( "SIG_CD_TABLEEND" );
			break;

		case SIG_CD_STYLENAME :
			LogCDSignature( "SIG_CD_STYLENAME" );
			break;

		// The Rest of these Signatures for Composite Records are reserved
		// internal records, Enough of these have been processed to demonstrate
		// logging of Composite Data Records.

		default :
			LogCDSignature( "DEFAULT CD SIGNATURE" );
			break;

	} // END switch ( cdsignature ) 

} // END NSFLog::ProcessCompositeData

//---------------------------------------------------------------------------
//
// Name:
//		NSFLog::LogCDGraphic
//
// Description:
//		Logs Information about this CD record which has a signature of type
//		SIG_CD_GRAPHIC. 
//
// Remarks:
//		The CD Record Data is read from On Disk, using the 
//		following CDGRAPHIC Structure defination from EDITODS.H:
//		NOTE: This is only an example, refer to the source for latest version.
//
//	typedef struct
//	{
//		LSIG	Header;		 // Signature and Length of this record.
//		RECTSIZE DestSize;	 // Destination Display size in twips (1/1440 inch)
//		RECTSIZE CropSize;	 // Width and Height of crop rect in twips. Currently unused
//		CROPRECT CropOffset; // Crop rectangle offset from bottom left of Dest (in twips).Currently unused
//		WORD	fResize;	 // Set to true if object has been resized by user
//		BYTE    Version;	 // CDGRAPHIC_VERSION
//		BYTE	bReserved;   // NOTE: This gets changed after version 4 !!!
//		WORD	wReserved;   // NOTE: This gets changed after version 4 !!!
//	} CDGRAPHIC;
//
//	_CDGRAPHIC Is an odsmacro from ODSTYPES.H. To process other CD Records
//  in a similar way as this method does you must substitute the CD Record
//  structure type and macro name to the LNCompositeData::ReadODS method.
//---------------------------------------------------------------------------
LNSTATUS NSFLog::LogCDGraphic( const LNCompositeData &CD )
{	
	LNSTATUS	Error;
	CDGRAPHIC	CdGraph;

	// Read into memory the On Disk Structure CD Record.
	if ( Error = CD.ReadODS(_CDGRAPHIC, &CdGraph) )
		return Error;

	// Append all of the fields from the CDGRAPHIC struct to the Log.
	LogFile << "               Type                 [CDGRAPHIC]" << endl
			<< "               DestSize:   Width    [";	
	LogNumberData( CdGraph.DestSize.width, 10 );
	LogFile << "]" << endl;

	LogFile << "                           Height   [";
	LogNumberData( CdGraph.DestSize.height, 10 );
	LogFile << "]" << endl;

	LogFile << "               CropSize:   Width    [";
	LogNumberData( CdGraph.CropSize.width, 10 );
	LogFile << "]" << endl;

	LogFile << "                           Height   [";
	LogNumberData( CdGraph.CropSize.height, 10 );
	LogFile << "]" << endl;

	LogFile << "               CropOffset: Left     ["; 
	LogNumberData( CdGraph.CropOffset.left, 10 );
	LogFile << "]" << endl;

	LogFile << "                           Top      [";
	LogNumberData( CdGraph.CropOffset.top, 10 );
	LogFile << "]" << endl;

	LogFile << "                           Right    [";
	LogNumberData( CdGraph.CropOffset.right, 10 );
	LogFile << "]" << endl;

	LogFile << "                           Bottom   [";
	LogNumberData( CdGraph.CropOffset.bottom, 10 );
	LogFile << "]" << endl;

	LogFile << "               fResize:             [";
	if(CdGraph.fResize)
		LogFile << "TRUE";
	else
		LogFile << "FALSE";
	LogFile << "]" << endl;

	LogFile << "               Version:             [";
	LogNumberData( CdGraph.Version + 1, 10 );
	LogFile << "]" << endl;
	
	LogFile << "               wReserved:           [";
	LogNumberData( CdGraph.wReserved, 16 );
	LogFile << "]" << endl;

	return LNNOERROR;

} // END NSFLog::LogCDGraphic

//---------------------------------------------------------------------------
//
// Name:
//		NSFLog::LogCDButton
//
// Description:
//		Logs Information about this CD record which has a signature of type
//		SIG_CD_BUTTON.
//
// Remarks:
//		The CD Record Data is read from On Disk, using the 
//		following CDBUTTON Structure defination from EDITODS.H:
//		NOTE: This is only an example, refer to the source for latest version.
//
//	typedef struct
//	{
//		WSIG 	Header;		// Signature and length of this record.
//		WORD 	Flags;	
//		WORD 	Width;
//		WORD 	Height;
//		WORD	Lines;
//		FONTID 	FontID;
//		// Button Text Follows:
//	} CDBUTTON;
//
//	_CDBUTTON Is an odsmacro from ODSTYPES.H. To process other CD Records
//  in a similar way as this method does you must substitute the CD Record
//  structure type and macro name to the LNCompositeData::ReadODS method.
//---------------------------------------------------------------------------
LNSTATUS NSFLog::LogCDButton( const LNCompositeData &CD )
{	
	LNSTATUS	Error;
	CDBUTTON	CdButton;
	WORD		Flags;
	LNINT		Length;
	char		*TxtBuf;
	LNString	ButtonStr;

	if ( Error = CD.ReadODS(_CDBUTTON, &CdButton) )
		return Error;

	Flags = CdButton.Flags;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -