怎样在C++Builder中添加类,在线等!!!!!

时间:2022-05-02 10:12:22
我想在程序中加一个类,
但是我加在哪里都市错误的
求高手指点;

8 个解决方案

#1


file->new 选择unit 再写自己的类,比较好

#2


将类的头文件包含进去就行了!
然后在程序中申明实体

#3


三个地方都可以
1、自己定义一个:打开一个新的Unit,有就会有Unit*.cpp Unit*.h,在这里面定义,之后,在你要使用的地方实例化。
2、在已存在的Unit上定义。例如你有一个Form,就在他们的.h里定义,在.cpp里写实现的代码。然后实例化,即可使用

3、在一个类里面定义,这是嵌套类的定义方式。你还是先弄清楚我前面说的吧。

#4


将头文件和.cpp文件包含工程及可。

#5


// .hpp

class TForm1:public......
{


};

class Tyourclass:pub......
{

};

#6


#ifndef GridPrintH
#define GridPrintH
#include <DBGrids.hpp> //包含的相关头文件 
#include <Db.hpp> 
#include <Printers.hpp>
#include <QuickRpt.hpp> 
#include <Qrctrls.hpp> 
typedef struct tagFieldType{ //表示表格某一列信息的结构 
AnsiString sTitle; //字段标题名称 
int iWidth; //表格单元的宽度 
TQRLabel *pLabel; //字段标题控件 
TQRDBText *pDBText; //显示的数据控件 
TQRShape *pShapeTitle, *pShapeData; //字段标题和数据的表格分隔条
} NEWFIELDTYPE;
class TGridPrint{
public:
TGridPrint(TQuickRep *pSrcQuickRep,TDBGrid * pSrcDBGrid,TQRBand *SrcTitleBand1,
TQRBand *SrcColumnHeaderBand1,TQRBand * SrcDetailBand1); //构造函数
~TGridPrint(); //析构函数
void DoPreview(); //报表的打印预览
void SetPrntTitle(AnsiString sTitle); //手工设置表格的总标题
void SetColumnsWidth(int *ColumnsWidth); //手工设置表格各列宽度
void SetHeadRectHeight(int iHeight); //手工设置字段标题行的高度
void SetDetailRectHeight(int iHeight); //手工设置数据行的高度
private:
void AutoAdjustColumnsWidth(); //程序自动调整各列宽度
TDBGrid * pDBGrid; //将要显示的DBGrid
TDataSet * pDataSet; //DBGrid对应数据集
TQuickRep * pQuickRep; //报表控件
TQRBand * TitleBand1; //报表的总标题栏
TQRBand * ColumnHeaderBand1; //报表的字段标题栏
TQRBand * DetailBand1; //报表的数据栏
TQRLabel * pTitleLabel; //总标题控件
TQRShape * pHeadRect, * pDetailRect; //整个字段标题栏、数据栏的表格矩形控件
int iHeadRectHeight, iDetailRectHeight; //对应表格矩形框的高度,它们宽度相同
int _iTotalWidth; //整个表格的总宽度
int _iIntClearance; //表格内部数据列到左表格的距离
int _iFieldCount; //将要打印的字段数目
NEWFIELDTYPE _arrayFieldType[40]; //支持到40个字段的打印
};//上面就是我自已定义的一个GridPrint的类!



//你先生成一个unit文件,然后在要使用地方包含这个头文件!就可以!

#7


简单的就地解决(就是在From的h里写了),复杂的建议另写在unit里

#8


谢谢各位兄台:

#1


file->new 选择unit 再写自己的类,比较好

#2


将类的头文件包含进去就行了!
然后在程序中申明实体

#3


三个地方都可以
1、自己定义一个:打开一个新的Unit,有就会有Unit*.cpp Unit*.h,在这里面定义,之后,在你要使用的地方实例化。
2、在已存在的Unit上定义。例如你有一个Form,就在他们的.h里定义,在.cpp里写实现的代码。然后实例化,即可使用

3、在一个类里面定义,这是嵌套类的定义方式。你还是先弄清楚我前面说的吧。

#4


将头文件和.cpp文件包含工程及可。

#5


// .hpp

class TForm1:public......
{


};

class Tyourclass:pub......
{

};

#6


#ifndef GridPrintH
#define GridPrintH
#include <DBGrids.hpp> //包含的相关头文件 
#include <Db.hpp> 
#include <Printers.hpp>
#include <QuickRpt.hpp> 
#include <Qrctrls.hpp> 
typedef struct tagFieldType{ //表示表格某一列信息的结构 
AnsiString sTitle; //字段标题名称 
int iWidth; //表格单元的宽度 
TQRLabel *pLabel; //字段标题控件 
TQRDBText *pDBText; //显示的数据控件 
TQRShape *pShapeTitle, *pShapeData; //字段标题和数据的表格分隔条
} NEWFIELDTYPE;
class TGridPrint{
public:
TGridPrint(TQuickRep *pSrcQuickRep,TDBGrid * pSrcDBGrid,TQRBand *SrcTitleBand1,
TQRBand *SrcColumnHeaderBand1,TQRBand * SrcDetailBand1); //构造函数
~TGridPrint(); //析构函数
void DoPreview(); //报表的打印预览
void SetPrntTitle(AnsiString sTitle); //手工设置表格的总标题
void SetColumnsWidth(int *ColumnsWidth); //手工设置表格各列宽度
void SetHeadRectHeight(int iHeight); //手工设置字段标题行的高度
void SetDetailRectHeight(int iHeight); //手工设置数据行的高度
private:
void AutoAdjustColumnsWidth(); //程序自动调整各列宽度
TDBGrid * pDBGrid; //将要显示的DBGrid
TDataSet * pDataSet; //DBGrid对应数据集
TQuickRep * pQuickRep; //报表控件
TQRBand * TitleBand1; //报表的总标题栏
TQRBand * ColumnHeaderBand1; //报表的字段标题栏
TQRBand * DetailBand1; //报表的数据栏
TQRLabel * pTitleLabel; //总标题控件
TQRShape * pHeadRect, * pDetailRect; //整个字段标题栏、数据栏的表格矩形控件
int iHeadRectHeight, iDetailRectHeight; //对应表格矩形框的高度,它们宽度相同
int _iTotalWidth; //整个表格的总宽度
int _iIntClearance; //表格内部数据列到左表格的距离
int _iFieldCount; //将要打印的字段数目
NEWFIELDTYPE _arrayFieldType[40]; //支持到40个字段的打印
};//上面就是我自已定义的一个GridPrint的类!



//你先生成一个unit文件,然后在要使用地方包含这个头文件!就可以!

#7


简单的就地解决(就是在From的h里写了),复杂的建议另写在unit里

#8


谢谢各位兄台: