lnformul.hpp

来自「IBM Lotus C++ API 7.0a for IBM Lotus Not」· HPP 代码 · 共 74 行

HPP
74
字号
//===========================================================================
//
// Module:	LNFORMUL.HPP
//
// Description:
//
//		Class definitions for LNFormula and LNFormulaBody.
//
//===========================================================================
//
// Copyright (c) 1996-1998 Lotus Development Corporation. All rights reserved.
// This software is subject to the Lotus Software Agreement, Restricted
// Rights for U.S. government users, and applicable export regulations.
//
//===========================================================================

#ifndef LNFORMUL_HPP
#define LNFORMUL_HPP

#include <nsfsearc.h>	// for HCOMPUTE

// LNFORMULAFLAGS: flags returned by LNFormula::Evaluate.

typedef WORD LNFORMULAFLAGS;

#define LNFORMULAFLAGS_NOTE_SELECTED	0x0001
#define LNFORMULAFLAGS_DELETE_NOTE		0x0002
#define LNFORMULAFLAGS_NOTE_MODIFIED	0x0004

//---------------------------------------------------------------------------
// 	Class name:	LNFormula
//
//	Description:
//
//	LNFormula represents a Notes formula.
//---------------------------------------------------------------------------

class LNIMPEXPCL LNFormula : public LNSmartPtr
{
public:
	LNFormula() {}
	LNFormula( const LNString &text ) { Init(text); }
	LNFormula( const char *text ) { Init(text); }
	LNFormula( const char *code, LNINT length, LNBOOL select = FALSE );
	LNFormula( const LNFormula &formula ) : LNSmartPtr(formula) {}
	~LNFormula() {}
	LNFormula & operator=( const LNFormula &formula )
		{ LNSmartPtr::operator=(formula); return *this; }
	LNFormula & operator=( const LNString &text );
	LNFormula & operator=( const char *text )
		{ return operator=(LNString(text)); }

	LNCLASSID GetClassID() const { return LNCLASSID_LNFORMULA; }

	LNSTATUS Evaluate( LNItem *result ) const;
	LNSTATUS Evaluate
		( LNItem *result, const LNNote &note, LNFORMULAFLAGS *flags = 0 ) const;
	char * GetCode() const;
	LNINT GetCodeLength() const;
	LNString GetText() const;
	LNSTATUS SetCode( const char *code, LNINT length, LNBOOL select = FALSE );
	LNSTATUS SetText
		( const LNString &text, LNINT *erroffset = 0, LNINT *errlength = 0 );

private:
	LNFormulaBody * GetFormulaBody() const { return (LNFormulaBody *) Body; }
	FORMULAHANDLE GetCodeHandle() const;
	void Init( const LNString &text );
};


#endif	// LNFORMUL_HPP

⌨️ 快捷键说明

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