设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 其他开发语言 >> 从Corba接口中取到的数据填充FastReport报表
精品推荐
其他开发语言点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·Modem 常用AT指令集
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
·Thinking in C++ 简体中文第二版
·debug和release的区别
·error LNK2001: unresolved external symbol __ftol2 错误解决
·C库函数手册
·一个简单的C语言编译器
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

从Corba接口中取到的数据填充FastReport报表

作者: 来源:网络文章 时间:2005-12-17 20:58:16

从Corba接口中取到的数据填充FastReport报表(1)

Corba接口中取到的数据填充FastReport报表设计过程

 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

环境:

编程工具:Borland C++ Builder 6.0

操作系统windows 2000

应用软件:FastReport5.2破解版

 

1.安装FastReport

如安装到c:\program files\fastreports

2.在bcb 6中使用FastReport(本过程从RastReport中抄写)

l         复制c:\program files\fastreports\ fastreport \RES\chinese文件夹到c:\program files\fastreports\ fastreport\SOURCE

l         Copy fr_class.pas to the installation folder

l         "\FastReports\FastReport\sources\" (default folder)

l         Run C++ Builder 6.0

l         Select menu Component->Install Packages. Check in packages list "FastReport 2.5 Components" and click Remove button,  Answer "Yes" to all questions. Click "OK".

l         Select menu File->Open, select file fr6.bpk from folder"\FastReports\FastReport\sources\"

l         Press buttons "Compile" and "Install" in opened window

l         Close C++ Builder. On query about save fr6.bpk ansver "No".

l         Run C++ Builder.

l         Select menu "Component"->"Install Packages" and set select for all installed FastReport related packages (ADO, BDE, DBX etc)

l         安装用到的其它额外的组件:There are three additional components included in standard FR package.These components can be found in SOURCE\BDE, SOURCE\IBX and SOURCE\ADO folders. They supersede old datamanager (TfrDataStorage component). To install them, use same technique as described above. Each component have a package file. To install in Delphi2, use file with Reg suffix (for example,FR_BDEReg.pas).

3.使用内存表

l         BDE中拉Ttable控件,在窗体的构造函数中写如下代码,创建数据库和表和表字段和字段类型:

    Table1->Close();

    Table1->DatabaseName = "c:\\tempDB";

    Table1->TableType = ttParadox;//数据库类型

    Table1->TableName = "TREPORT_EXCHANGE";

    if (!Table1->Exists) // Don't overwrite an existing table

    {

    // describe the fields in the table

    Table1->FieldDefs->Clear();

    TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "ITEM_NAME";

    pNewDef->DataType = ftString;

 

    pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "CARDTYPE";

    pNewDef->DataType = ftInteger;

 

    pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "AREA_NAME";

    pNewDef->DataType = ftString;

 

    pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "OPER_NAME";

    pNewDef->DataType = ftString;

 

    pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "FEECOUNT";

    pNewDef->DataType = ftString;

 

    pNewDef = Table1->FieldDefs->AddFieldDef();

    pNewDef->Name = "ConsumeTimes";

    pNewDef->DataType = ftString;

 

    Table1->CreateTable();

    }

l         编译后设置Ttable属性:

n         DatabaseName=c:\tempDB文件夹路径

n         Tablename=TREPORT_EXCHANGE

FastReport中的frReportfrDbDataSet控件。

设置frDbDataSetDataSet属性为TtablefrReportDataset属性为frDbDataSet

l         双击frReport设计报表视图。

保存到当前目录下的BusiStatByBusiItem.frf文件

l         添加一个按钮,并添加单击事件代码如下,注意在头文件中添加idl2cpp生成的.h文件:

CORBA::ORB_var orb = ::CORBA::ORB_init(__argc, __argv);

  Table1->Open();

//每次报表前清空数据

  while(Table1->FindFirst())

  {

        Table1->Delete();

  }

 

  PortableServer::ObjectId_var managerId =

          PortableServer::string_to_ObjectId("InterfaceReport");

  VipCenter::InterfaceReport_var manager =VipCenter::InterfaceReport::_bind("/InterfaceReport_poa",managerId);

  VipCenter::StrUCtRet_var retVar1;

  VipCenter::SeqReportExchange_var seqReportExchange;

 

  CORBA::ULong i=0;

  VipCenter::date_time dt_start,dt_end;

 

 dt_start.year=2002;

 dt_start.month=1;

 dt_start.day=1;

 dt_start.hour=0;

 dt_start.minute=0;

 dt_start.second=0;

 

 dt_end.year=2004;

 dt_end.month=1;

 dt_end.day=1;

 dt_end.hour=0;

 dt_end.minute=0;

 dt_end.second=0;

   //retVar1 = manager->BusiStatByVipCardType("571000100001",dt_start,dt_end,"1",571,seqReportExchange.out());

   retVar1 = manager->BusiStatByBusiItem("571000100001",dt_start,dt_end,1,571,seqReportExchange.out());

 

  for(i=0;i<seqReportExchange->length();i++)

  {

        Table1->AppendRecord(ARRAYOFCONST((

        (AnsiString)seqReportExchange[i].ITEM_NAME

        ,(short)(seqReportExchange[i].CARDTYPE)

        ,(AnsiString)seqReportExchange[i].AREA_NAME

        ,(AnsiString)seqReportExchange[i].OPER_NAME

        , (AnsiString)seqReportExchange[i].FEECOUNT

        ,(AnsiString)seqReportExchange[i].ConsumeTimes)));

  }

  Table1->Close();

  Table1->Active = true;

  frReport1->LoadFromFile("BusiStatByBusiItem.frf");

  frReport1->ShowPreparedReport();

  frReport1->ShowReport();

  }

共2页 9 7 [1] [28 :>

从Corba接口中取到的数据填充FastReport报表 相关文章:
从Corba接口中取到的数据填充FastReport报表 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com