http://rmachine.haotui.com/thread-55-1-1.html

偏高偏低提示

[IF( [RMDBDataSet1."abnormalIndicator"]='h','↑',IF( [RMDBDataSet1."abnormalIndicator"]='l','↓',''))]

RMReport.ocx

RMEngine.Init(); // 初始化
RMEngine.LoadFromFile('c:\1.rmf'); // 读入报表模版
RMEngine.AddDataSet(DataModule2.Customers, 'CustomersDS'); // 增加一个数据表
RMEngine.DesignReport; // 设计报表
RMReport.ShowReport; // 预览报表

c#调用

this.dataSet1 = new System.Data.DataSet();
this.dataView1 = new System.Data.DataView();
this.rmReport1 = new RMReportEngine.RMReport();
this.dataSet1.Reset(); this.oleDbDataAdapter1.SelectCommand.CommandText = "select * from Customer";
this.oleDbDataAdapter1.Fill(this.dataSet1, "Customer");
this.dataView1.Table = this.dataSet1.Tables["Customer"];
this.dataView1.RowFilter = "CustNo >= 3000";
//this.dataGrid1.DataSource = this.dataView1; rmReport1.ModifyPrepared = false;
rmReport1.Init(this, TxRMReportType.rmrtReport);
//rmReport1.PreviewOptions.BtnDesignVisible = true;
//rmReport1.AddDataSet(this.dataSet1.Tables["Customer"], "db1");
rmReport1.AddDataSet(this.dataView1, "db1");
rmReport1.LoadFromFile(MainPath + "reports\\SimpleList.rmf"); //SimpleList.rmf rmReport1.AddVariable("公司名称", "我的公司名称", true);
rmReport1.AddVariable("公司简称", "我的公司简称", true);
rmReport1.AddVariable("公司电话", "我的公司电话", true); if (radioButton1.Checked)
{
rmReport1.ShowReport();
}
else
{
rmReport1.DesignReport();
}

public void AddDataSet(System.Data.DataView aDataView, string aDatasetName)

public void AddDataSet(System.Data.DataTable aDataTable, string aDatasetName)

public void AddDetailDataSet(System.Data.DataTable aDataTable, string aDatasetName, string aMasterName, System.Data.DataRelation aDataRelation)

public void AddVariable(string aVarName, object aVarValue, bool aIsString)

public void GetReportData(ref string aReportData)

public void Init(System.Windows.Forms.Form aOwner, RMReportEngine.RMReportType aReportType)

web版 RMViewer.ocx

http://rmachine.haotui.com/thread-56-1-1.html

编译client_ActiveForm目录中的项目就会生成RMViewer.ocx

com版本

COM控件(ocx)可以在VB、.Net、VC、Delphi等支持ADO的开发工具中使用

ocx版本

Dim conn
Dim rs
Dim sql
Dim rq
Dim Engine Set conn = OpenDBConnection
Set rs = Server.CreateObject ("ADODB.recordset")
sql = "SELECT * from customer"
rs.Open sql, conn, , Set Engine = Server.CreateObject("RMEngine.Engine")
Engine.Init
Engine.AddDataSet "db1", rs
Engine.SetReportFile RootPath & "SimpleList.rmf"
Engine.ViewerVersion = ViewerVersion
Engine.ViewerFileName = ViewerFileName
Engine.SaveReportURL = "asp/DesignReportSave.asp?Report=" & "SimpleList.rmf"
Engine.AddVariable "NowTime", Now, false Engine.ShowProgress = True Set rs = nothing
conn.Close
Set conn = nothing

报表机器,双屏切换到单屏看不见预览界面了,解决方法修改注册表

计算机\HKEY_USERS\S-1-5-21-3613803311-2736177264-1221004870-500\Software\WHF SoftWare\Report Machine\Form\TRMPreviewForm

XPosition 1606 改为0

YPosition -173改为0

if GetFieldValue('RMDBDataSet1."SFYYFSX"') then   //  是否用药方式行
     begin
          //ShowMessage(Memo12.Text);
          Memo12.HAlign:=rmhRight;
    end
     else
     begin
         Memo12.HAlign:=rmhLeft;
     end;

procedure MasterData1_OnBeforePrint(Sender: TObject);
begin
     if GetFieldValue('RMDBDataSet1."SFZZYZX"') then   //   是否重整医嘱行
     begin
          Line1.Visible:=true;   
     end      
     else     
     begin
          Line1.Visible:=false;  
     end;
end;
procedure Memo13_OnAfterCalc(Sender: TObject);
begin
     if Pos('┐',Memo13.Text)<>0 then
      begin
          Memo13.Visible:=true;
          Shape2.Shape:=rmVertLine;
          Shape2.Visible:=true;
          Shape1.Visible:=false;
          Shape3.Visible:=false;
     end
     else if Pos('┘',Memo13.Text)<>0 then
      begin
          Memo13.Visible:=true;
          Shape3.Shape:=rmVertLine;
          Shape3.Visible:=true;
          Shape1.Visible:=false;
          Shape2.Visible:=false;

end
     else  if Pos('│',Memo13.Text)<>0 then
     begin
          //Memo13.text:='';
          Memo13.Visible:=true;
          Shape1.Shape:=rmVertLine;
          Shape1.Visible:=true;
          Shape2.Visible:=false;
          Shape3.Visible:=false;

end
     else
     begin
          Memo13.Visible:=true;
          Shape1.Visible:=false;
          Shape2.Visible:=false;
          Shape3.Visible:=false;
     end;
end;

procedure Memo12_OnAfterCalc(Sender: TObject);
begin
     if GetFieldValue('RMDBDataSet1."SFYYFSX"') then   //  是否用药方式行
     begin
          //ShowMessage(Memo12.Text);
          Memo12.HAlign:=rmhRight;
    end
     else
     begin
         Memo12.HAlign:=rmhLeft;
     end;
end;

ReportMachine OCX的更多相关文章

  1. ReportMachine OCX 的使用方法

    ReportMachine OCX http://rmachine.haotui.com/thread-55-1-1.html RMReport.ocx RMEngine.Init(1); // 初始 ...

  2. Web获取客户端物理MAC地址(ocx插件)

    主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...

  3. 注册OCX失败

    今天注册某个OCX时,Windows报告以下错误: 模块“XXX.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80040200. 这是Windows权限引起的 ...

  4. RegSvr32注册OCX时报错

    RegSvr32注册OCX时报错. 错误1: 模块“dsoframer2007.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80070005. 有关此问题的详 ...

  5. C#利用AxImp工具在WPF中使用OCX控件

    一.注册OCX并利用工具生成dll @echo off color a ::Failed REGSVR32 /S /I "MSCOMCTL.OCX" if exist %windi ...

  6. 如何注册OCX控件

    32位系统: 将文件放到c:\windows\system目录 注册 运行:Regsvr32 c:\windows\system\xxx.ocx 取消注册运行:Regsvr32.exe /u c:\w ...

  7. ocx控件 编译成C#调用的dll 方法 转

      打开VS命令提示行 1.注册ActiveX控件(带上 VCbox.ocx的路径) regsvr32  VCbox.ocx 2.编译OCX文件 aximp VCbox.ocx 生成两个dll文件,项 ...

  8. MapWinGIS.ocx 注册

    (1)不管对版本4.8还是4.9.3,运行环境都必须为32位的.Net Frame 3.5,低了高了都不行,会导致注册OCX失败. (2)对于MapWinGIS.ocx 4.8 版本,需要32位的 M ...

  9. #include <objsafe.h>//OCX控件在IE8浏览器下不能使用问题

    一.OCX控件开发常见的问题 1.OCX控件在IE8浏览器下不能使用问题 原因:IE8会拦截OCX控件的方法. 解决方法:在OCX控件开发时加入安全接口. (1)在有"Crtl"字 ...

随机推荐

  1. Linux运维就业技术指导(九)期末架构考核

    一,毕业架构设计考核筹备 1.1,架构图模板示例 1.1.1 架构图(一)概述 本架构是4层lvs负载均衡给后方7层nginx反向代理: 业务进行了动静分离: 数据库前端有memcached缓存组,降 ...

  2. Spring ThreadPoolTaskExecutor

    1. ThreadPoolTaskExecutor配置 1 <!-- spring thread pool executor --> 2 <bean id="taskExe ...

  3. 亲, 我们来再重申一遍"=="和"equals的区别

    今天经历的一个事情太丢脸了, 一个学弟向我请教问题, 是这样的: 一个字符串里面含有空格, 不允许使用.trim()和replace方法, 只用if和for将空格去掉, 题目很简单, 一开始我是这样写 ...

  4. Struct2总结

    摘自<javaWeb整合开发王者归来> 一.Struct2工作流程 1.访问jsp页面  /struts2/login.jsp 2.提交表单后数据提交给 /struts2/loginPer ...

  5. DOS批处理前言

    -----------made by siwuxie095 1.批处理(Batch):望文知义,对某对象进行批量处理,实际上是一种脚本 2.DOS(Disk Operating System-磁盘操作 ...

  6. Oracle 数据库的绑定变量特性及应用

    Oracle 数据库的绑定变量特性及应用[-----]转载自https://www.cnblogs.com/rootq/(原地址) 关键词: 绑定变量(binding variable),共享池(sh ...

  7. xcode10设置自定义代码快 - Xcode10新功能新内容

    1. 2. 详情: Xcode10新功能新内容https://blog.csdn.net/u010960265/article/details/80630118

  8. POJ 3709 K-Anonymous Sequence - 斜率优化dp

    描述 给定一个数列 $a$, 分成若干段,每段至少有$k$个数, 将每段中的数减少至所有数都相同, 求最小的变化量 题解 易得到状态转移方程 $F_i = \min(F_j  + sum_i - su ...

  9. UNIX和类UNIX操作系统

  10. ShowMsg函数

    ShowMsg():显示提示信息,跳转到相应页面 例子: ShowMsg(,);