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

📄 rtfexport.hpp

📁 这是一个有关文本编辑器的源程序,支持彩色语法,你可以任意修改,修改后发给我一份
💻 HPP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'RtfExport.pas' rev: 6.00

#ifndef RtfExportHPP
#define RtfExportHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Forms.hpp>	// Pascal unit
#include <ShellAPI.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Rtfexport
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TSQLToken { stSymbol, stQuotedSymbol, stString, stDelimitier, stParameter, stNumber, stComment, stComma, stPeriod, stEQ, stLParen, stRParen, stOther, stEnd };
#pragma option pop

typedef Set<TSQLToken, stSymbol, stEnd>  TSQLTokenTypes;

#pragma option push -b-
enum TCommentType { ctMultiLine, ctLineEnd };
#pragma option pop

#pragma option push -b-
enum TTokenType { tkComment, tkIdentifier, tkInteger, tkFloat, tkConst, tkOperator, tkCommon, tkError, tkCrLn };
#pragma option pop

class DELPHICLASS TmParser;
class PASCALIMPLEMENTATION TmParser : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	AnsiString FTxt;
	AnsiString FTokenString;
	char *FBufBeg;
	char *FBufEnd;
	char *FTokenBegin;
	char *FTokenEnd;
	TTokenType FTokenType;
	int FTokenPos;
	int FTokenLine;
	bool FEof;
	
public:
	__fastcall TmParser(AnsiString ATxt, bool IsFileName)/* overload */;
	void __fastcall NextToken(void);
	__property bool Eof = {read=FEof, nodefault};
	__property TTokenType TokenType = {read=FTokenType, nodefault};
	__property AnsiString Txt = {read=FTxt};
	__property int TokenPos = {read=FTokenPos, nodefault};
	__property AnsiString TokenString = {read=FTokenString};
	__property int TokenLine = {read=FTokenLine, nodefault};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TmParser(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TStd16Color { sclBlack, sclMaroon, sclGreen, sclOlive, sclNavy, sclPurple, sclTeal, sclGray, sclSilver, sclRed, sclLime, sclYellow, sclBlue, sclFuchsia, sclAqua, sclWhite };
#pragma option pop

class DELPHICLASS TRtfWriter;
class PASCALIMPLEMENTATION TRtfWriter : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Classes::TMemoryStream* FMem;
	Classes::TStringList* FList;
	AnsiString __fastcall ProcessText(AnsiString Txt);
	void __fastcall WriteReturn(void);
	void __fastcall Write(AnsiString Txt);
	
public:
	__fastcall TRtfWriter(void);
	__fastcall virtual ~TRtfWriter(void);
	void __fastcall BeginWrite(void);
	void __fastcall WriteText(AnsiString Txt, TStd16Color Color, bool Bold);
	void __fastcall EndWrite(void);
	void __fastcall SaveToFile(AnsiString FileName);
	AnsiString __fastcall RtfTxt();
};


class DELPHICLASS TTxt2Rtf;
class PASCALIMPLEMENTATION TTxt2Rtf : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	bool FNeedColor;
	Graphics::TColor FCommentColor;
	Classes::TStringList* FKeyWords;
	bool FCaseSensitive;
	void __fastcall SetKeyWord(Classes::TStringList* Keys);
	void __fastcall SetCaseSensitive(bool Sensitive);
	bool __fastcall HasKey(AnsiString Keyword);
	
public:
	__fastcall TTxt2Rtf(void);
	__fastcall virtual ~TTxt2Rtf(void);
	AnsiString __fastcall PlainTextToRtf(AnsiString Txt);
	void __fastcall SaveTextToRtfFile(AnsiString Txt, AnsiString SaveFileName);
	__property Classes::TStringList* KeyWords = {read=FKeyWords, write=SetKeyWord};
	__property bool KeyCaseSensitive = {read=FCaseSensitive, write=SetCaseSensitive, nodefault};
	__property bool NeedColor = {read=FNeedColor, write=FNeedColor, nodefault};
};


//-- var, const, procedure ---------------------------------------------------
#define CrLn "\r\n"
#define Head "{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe20"\
	"52{\\fonttbl{\\f0\\fmodern\\fprq6\\fcharset134 \\'cb\\'ce\\"\
	"'cc\\'e5;}}{\\colortbl ;\\red0\\green0\\blue0;\\red128\\gr"\
	"een0\\blue0;\\red0\\green128\\blue0;\\red128\\green128\\bl"\
	"ue0;\\red0\\green0\\blue128;\\red128\\green0\\blue128;\\re"\
	"d0\\green128\\blue128;\\red128\\green128\\blue128;\\red192"\
	"\\green192\\blue192;\\red255\\green0\\blue0;\\red0\\green2"\
	"55\\blue0;\\red255\\green255\\blue0;\\red0\\green0\\blue25"\
	"5;\\red255\\green0\\blue255;\\red0\\green255\\blue255;\\re"\
	"d255\\green255\\blue255;}\r\n\\viewkind4\\uc1\\lang2052\\p"\
	"ard\\cf1\\f0\\fs20 "
#define RCrLn "\\par\r\n"
#define Tail "\\lang2052\\f1\\par}"

}	/* namespace Rtfexport */
using namespace Rtfexport;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// RtfExport

⌨️ 快捷键说明

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