mweditstrings.hpp

来自「本人买的<<VC++项目开发实例>>源代码配套光盘.」· HPP 代码 · 共 196 行

HPP
196
字号
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'mwEditStrings.pas' rev: 5.00

#ifndef mwEditStringsHPP
#define mwEditStringsHPP

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

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

namespace Mweditstrings
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TIndexEvent)(int Index);

struct TmwEditItem;
typedef TmwEditItem *PmwEditItem;

struct TmwEditItem
{
	AnsiString FString;
	System::TObject* Finfo;
	System::TObject* FObject;
} ;

typedef TmwEditItem *TEditItemArray[1];

typedef PmwEditItem *PEditItemArray;

class DELPHICLASS TmwEditFileBuffer;
class PASCALIMPLEMENTATION TmwEditFileBuffer : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	file fBuffFile;
	AnsiString fFileName;
	int fLineStart;
	int fMaxMemorySize;
	int fMemorySize;
	char *fMemory;
	int fMemoryPos;
	bool fEof;
	int fSize;
	bool fUnixStyle;
	bool __fastcall GetMemoryFull(void);
	void __fastcall SetMaxMemorySize(int NewValue);
	bool __fastcall GetFileEof(void);
	int __fastcall GetPosition(void);
	void __fastcall SetPosition(int NewPos);
	
public:
	__fastcall TmwEditFileBuffer(AnsiString FileName, bool ClearFile);
	__fastcall virtual ~TmwEditFileBuffer(void);
	void __fastcall FillMemory(void);
	char * __fastcall ReadLine(void);
	void __fastcall WriteLine(AnsiString NewLine);
	void __fastcall FlushMemory(void);
	void __fastcall ResetBuff(void);
	__property int MaxMemorySize = {read=fMaxMemorySize, write=SetMaxMemorySize, nodefault};
	__property char * Memory = {read=fMemory};
	__property bool MemoryFull = {read=GetMemoryFull, nodefault};
	__property int Position = {read=GetPosition, write=SetPosition, nodefault};
	__property bool FileEof = {read=GetFileEof, nodefault};
	__property bool Eof = {read=fEof, nodefault};
	__property int Size = {read=fSize, nodefault};
	__property bool UnixStyle = {read=fUnixStyle, write=fUnixStyle, nodefault};
};


class DELPHICLASS TmwEditItemList;
class PASCALIMPLEMENTATION TmwEditItemList : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	int FCapacity;
	int FCount;
	PmwEditItem *FList;
	
protected:
	PmwEditItem __fastcall GetItems(int Index);
	void __fastcall SetCapacity(int NewCapacity);
	void __fastcall SetItems(int Index, PmwEditItem Item);
	
public:
	__fastcall TmwEditItemList(void);
	__fastcall virtual ~TmwEditItemList(void);
	int __fastcall Add(PmwEditItem Item);
	void __fastcall Clear(void);
	void __fastcall Delete(int Index);
	void __fastcall Expand(int NewDelta);
	void __fastcall Insert(int Index, PmwEditItem Item);
	void __fastcall MultiDelete(int Index, int Number);
	void __fastcall PrepareMultiInsert(int Index, int Number);
	__property int Capacity = {read=FCapacity, write=SetCapacity, nodefault};
	__property int Count = {read=FCount, nodefault};
	__property PmwEditItem Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
};


class DELPHICLASS TmwEditStrings;
class PASCALIMPLEMENTATION TmwEditStrings : public Classes::TStrings 
{
	typedef Classes::TStrings inherited;
	
private:
	TmwEditItemList* FList;
	Classes::TNotifyEvent FOnChange;
	Classes::TNotifyEvent FOnChanging;
	TIndexEvent FOnDeleted;
	TIndexEvent FOnPutted;
	TIndexEvent FOnInserted;
	Classes::TNotifyEvent FOnLoaded;
	Classes::TNotifyEvent FOnAdded;
	int FUpdateCount;
	bool fWriteUnixStyle;
	unsigned fHandle;
	void __fastcall PutNewItem(int Index, const AnsiString S);
	void __fastcall WndProc(Messages::TMessage &Message);
	
protected:
	virtual void __fastcall Changed(void);
	virtual void __fastcall Changing(void);
	virtual AnsiString __fastcall Get(int Index);
	virtual int __fastcall GetCapacity(void);
	virtual int __fastcall GetCount(void);
	System::TObject* __fastcall GetInfo(int Index);
	virtual System::TObject* __fastcall GetObject(int Index);
	void __fastcall InsertItem(int Index, const AnsiString S);
	virtual void __fastcall Put(int Index, const AnsiString S);
	void __fastcall PutInfo(int Index, System::TObject* AInfo);
	virtual void __fastcall PutObject(int Index, System::TObject* AObject);
	virtual void __fastcall SetCapacity(int NewCapacity);
	virtual void __fastcall SetUpdateState(bool Updating);
	
public:
	__fastcall virtual TmwEditStrings(void);
	__fastcall virtual ~TmwEditStrings(void);
	virtual int __fastcall Add(const AnsiString S);
	HIDESBASE void __fastcall BeginUpdate(void);
	virtual void __fastcall Clear(void);
	virtual void __fastcall Delete(int Index);
	void __fastcall DeleteBetween(int Index1, int Pos1, int Index2, int Pos2);
	HIDESBASE void __fastcall EndUpdate(void);
	virtual void __fastcall Exchange(int Index1, int Index2);
	virtual void __fastcall Insert(int Index, const AnsiString S);
	void __fastcall InsertAt(int Index, int aPos, AnsiString S);
	void __fastcall InsertStrings(int Index, Classes::TStrings* StringsToInsert);
	void __fastcall InsertStringsBetween(int Index1, int Pos1, int Index2, int Pos2, Classes::TStrings* 
		StringsToInsert);
	virtual void __fastcall LoadFromFile(const AnsiString FileName);
	void __fastcall MultiDelete(int Index, int Number);
	virtual void __fastcall SaveToFile(const AnsiString FileName);
	virtual void __fastcall SetTextStr(const AnsiString Value);
	__property unsigned Handle = {read=fHandle, nodefault};
	__property System::TObject* Infos[int Index] = {read=GetInfo, write=PutInfo};
	__property bool WriteUnixStyle = {read=fWriteUnixStyle, write=fWriteUnixStyle, nodefault};
	__property Classes::TNotifyEvent OnAdded = {read=FOnAdded, write=FOnAdded};
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property Classes::TNotifyEvent OnChanging = {read=FOnChanging, write=FOnChanging};
	__property TIndexEvent OnDeleted = {read=FOnDeleted, write=FOnDeleted};
	__property TIndexEvent OnInserted = {read=FOnInserted, write=FOnInserted};
	__property Classes::TNotifyEvent OnLoaded = {read=FOnLoaded, write=FOnLoaded};
	__property TIndexEvent OnPutted = {read=FOnPutted, write=FOnPutted};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Mweditstrings */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mweditstrings;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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

⌨️ 快捷键说明

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