📄 erpreportcontrol.h
字号:
AnsiString FOldClearCondition;
bool FSetAtEnd;
TExpression * FExpression;
double FTotal;
int FCount;
void __fastcall SetContext(AnsiString Value);
bool __fastcall IsVariable(AnsiString Variable);
double __fastcall GetValue(AnsiString Variable);
protected:
public:
__fastcall TRptVariable(TRptVariables * AOwner, AnsiString VariableName, TRptFieldType VariableType);
__fastcall ~TRptVariable();
void __fastcall AddField();
TFloatFormat Format;
int Precision;
int Digits;
__property AnsiString VariableName = {read=FVariableName};
__property AnsiString Value = {read=FValue, write=FValue};
__property TRptFieldType VariableType = {read=FVariableType};
__property AnsiString Condition = {read=FCondition, write=FCondition};
__property AnsiString Context = {read=FContext, write=SetContext};
__property bool SetAtEnd = {read=FSetAtEnd, write = FSetAtEnd};
__property AnsiString ClearCondition = {read=FClearCondition, write=FClearCondition};
};
//------------------------------------------------------------------
//TRptVariable
//TRptLines
//------------------------------------------------------------------
class TRptLines : public TObject
{
friend TRptCell;
private:
TRptCell * FOwner;
TRptControl *FControl;
void __fastcall LoadFromStream();
void __fastcall SaveToStream();
protected:
public:
int FLeftWidth; //线段宽度
int FRightWidth;
int FTopWidth;
int FBottomWidth;
int FLeftStyle;
int FRightStyle;
int FTopStyle;
int FBottomStyle;
int BiasLine0;
int BiasLine0Width;
int BiasLine1;
int BiasLine1Width;
__fastcall TRptLines(TRptCell * Owner);
__fastcall ~TRptLines();
void __fastcall Assign(TRptLines * ASource);
void __fastcall Draw();
int __fastcall TRptLines::DoubleToInt(double Value);
};
//-----------------------------------------------------------------------
//TRptLines
//TRptGlobalInfo
//-----------------------------------------------------------------------
class TRptGlobalInfo : public TObject
{
friend TReport;
private:
TReport * FReport;
int FLeft; //页左边距 单位:毫米
int FRight; //右边距
int FTop; //上边距
int FBottom; //下边距
int FBindWidth; //装订线宽度
int FPageHeight;
int FPageWidth;
int FHPixelInch; //水平分辨率 点/每英寸
int FVPixelInch; //垂直分辨率 点/每英寸
int VDifference;
int HDifference;
double BaseBorderWidth;
double FSize;
int __fastcall DoubleToInt(double Value);
int __fastcall GetLeft(TRptUnit Unit);
void __fastcall SetLeft(TRptUnit Unit, int Value);
int __fastcall GetRight(TRptUnit Unit);
void __fastcall SetRight(TRptUnit Unit, int Value);
int __fastcall GetTop(TRptUnit Unit);
void __fastcall SetTop(TRptUnit Unit, int Value);
int __fastcall GetBottom(TRptUnit Unit);
void __fastcall SetBottom(TRptUnit Unit, int Value);
int __fastcall GetPageWidth(TRptUnit Unit);
void __fastcall SetPageWidth(TRptUnit Unit, int Value);
int __fastcall GetPageHeight(TRptUnit Unit);
void __fastcall SetPageHeight(TRptUnit Unit, int Value);
int __fastcall GetBindWidth(TRptUnit Unit);
void __fastcall SetBindWidth(TRptUnit Unit, int Value);
int __fastcall GetHPixelInch();
void __fastcall SetHPixelInch(int Value);
int __fastcall GetVPixelInch();
void __fastcall SetVPixelInch(int Value);
void __fastcall SetSize(double Value);
// double __fastcall GetBaseBorderWidth(TRptUnit Unit);
// void __fastcall SetBaseBorderWidth(TRptUnit Unit,double Value);
Classes::TNotifyEvent FOnPageSetChange;
public:
__fastcall TRptGlobalInfo(TReport * AReport);
__fastcall TRptGlobalInfo();
void __fastcall Assign(TRptGlobalInfo * aInfo);
int __fastcall HMmToPoint(double Value);
double __fastcall HPointToMm(int Value);
int __fastcall VMmToPoint(double Value);
double __fastcall VPointToMm(int Value);
double __fastcall LineHeight(double WidthNumber);
void __fastcall SetPrintRect(int Width, int Height);
void __fastcall SaveToStream();
void __fastcall LoadFromStream();
__property int LeftWidth[TRptUnit Unit] = {read=GetLeft, write=SetLeft};
__property int RightWidth[TRptUnit Unit] = {read=GetRight, write=SetRight};
__property int TopWidth[TRptUnit Unit] = {read=GetTop, write=SetTop};
__property int BottomWidth[TRptUnit Unit] = {read=GetBottom, write=SetBottom};
__property int PageWidth[TRptUnit Unit] = {read=GetPageWidth, write=SetPageWidth};
__property int PageHeight[TRptUnit Unit] = {read=GetPageHeight, write=SetPageHeight};
__property int BindWidth[TRptUnit Unit] = {read=GetBindWidth, write=SetBindWidth};
__property Classes::TNotifyEvent OnPageSetChange = {read=FOnPageSetChange, write=FOnPageSetChange};
// __property double BaseBorderWidth = {read=FBaseBorderWidth, write=FBaseBorderWidth};
int PaperType;
int BindLocation; // 值:0 装订线在左端
// 1 装订线在上端
TRptMode Mode;
bool NewPage;
bool InSelected;
TRptControl * EditControl;
int VPosition;
int HPosition;
int ContainDepth;
__property int HPixelInch = {read=GetHPixelInch, write=SetHPixelInch};
__property int VPixelInch = {read=GetVPixelInch, write=SetVPixelInch};
__property double Size = {read=FSize, write=SetSize};
};
//------------------------------------------------------------------------
//TRptGlobalInfo
//TRptComponentList
//------------------------------------------------------------------------
class TRptComponentList : public TObject
{
private:
TList *FItems;
TRptComponent * FOwner;
TRptComponent* __fastcall GetItem(int Index);
void __fastcall SetItem(int Index, TRptComponent *Value);
int __fastcall GetCount();
public:
__fastcall TRptComponentList(TRptComponent * AOwner);
__fastcall ~TRptComponentList();
void __fastcall Insert(int Index, TRptComponent *Value);
TRptComponent * Delete(int Index);
void __fastcall Clear();
void __fastcall Assign(TRptComponentList * Source);
__property TRptComponent * Items[int Index] = {read=GetItem, write=SetItem};
__property int Count = {read=GetCount};
};
//---------------------------------------------------------------------
//TRptComponentList
//TRptFields
//---------------------------------------------------------------------
class TRptFields : public TObject
{
friend TReport;
private:
TList *FFields;
TReport *FReport;
TRptField * __fastcall GetField(int Index);
int __fastcall GetCount();
public:
__fastcall TRptFields(TReport * AReport);
__fastcall ~TRptFields();
void __fastcall AddField(AnsiString FieldName, TRptFieldType FieldType,
AnsiString Name, AnsiString Desc,
int Width, int Scale);
void __fastcall Clear();
AnsiString __fastcall FieldValue(AnsiString FieldName);
bool __fastcall FieldExists(AnsiString FieldName);
void __fastcall LoadFromStream();
void __fastcall SaveToStream();
__property TRptField * Field[int Index] =
{read = GetField};
__property int Count = {read=GetCount};
};
//-----------------------------------------------------------------------
//TRptFields
//TRptVariables
//-----------------------------------------------------------------------
class TRptVariables : public TObject
{
friend TReport;
friend TRptVariable;
private:
TList *FVariables;
TReport * FReport;
TRptVariable * __fastcall GetVariable(int Index);
int __fastcall GetCount();
AnsiString __fastcall GetValue(AnsiString Name);
void __fastcall SetValue(AnsiString Name, AnsiString Value);
AnsiString __fastcall SetField(const AnsiString Value);
public:
__fastcall TRptVariables(TReport *AReport);
__fastcall ~TRptVariables();
void __fastcall Add(AnsiString VariableName, TRptFieldType VariableType);
void __fastcall Clear();
void __fastcall Insert(int Index, AnsiString VariableName, TRptFieldType VariableType);
void __fastcall Delete(int Index);
AnsiString __fastcall FieldValue(AnsiString VariableName);
void __fastcall AddRecord();
void __fastcall MoveUp(int Index);
void __fastcall MoveDown(int Index);
void __fastcall LoadFromStream();
void __fastcall SaveToStream();
__property TRptVariable * Variable[int Index] =
{read = GetVariable};
__property int Count = {read=GetCount};
__property AnsiString Value[AnsiString VariableName] =
{read = GetValue, write = SetValue};
};
//---------------------------------------------------------------------
//TRptVariables
//PrintThread
//---------------------------------------------------------------------
class PrintThread : public TThread
{
friend TReport;
private:
void __fastcall MakeReport();
void __fastcall PrintReport();
TStrings * FPosition;
TFileStream * FDataStream;
AnsiString FDataFileName;
void __fastcall GetData(int Index, TStrings * AData);
protected:
void __fastcall Execute();
public:
__fastcall PrintThread(bool CreateSuspended, TReport * AReport);
__fastcall ~PrintThread();
void __fastcall PushData(TStrings * AData);
TBillReport * Report;
TRptGlobalInfo * pGlobalInfo;
TPrinter* Printer;
TCanvas * PrintCanvas;
int Start;
int End;
int Copies;
bool Print;
int CurWrite;
int CurRead;
bool GetDataComplet;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -