ReportMachine OCX
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的更多相关文章
- ReportMachine OCX 的使用方法
ReportMachine OCX http://rmachine.haotui.com/thread-55-1-1.html RMReport.ocx RMEngine.Init(1); // 初始 ...
- Web获取客户端物理MAC地址(ocx插件)
主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...
- 注册OCX失败
今天注册某个OCX时,Windows报告以下错误: 模块“XXX.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80040200. 这是Windows权限引起的 ...
- RegSvr32注册OCX时报错
RegSvr32注册OCX时报错. 错误1: 模块“dsoframer2007.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80070005. 有关此问题的详 ...
- C#利用AxImp工具在WPF中使用OCX控件
一.注册OCX并利用工具生成dll @echo off color a ::Failed REGSVR32 /S /I "MSCOMCTL.OCX" if exist %windi ...
- 如何注册OCX控件
32位系统: 将文件放到c:\windows\system目录 注册 运行:Regsvr32 c:\windows\system\xxx.ocx 取消注册运行:Regsvr32.exe /u c:\w ...
- ocx控件 编译成C#调用的dll 方法 转
打开VS命令提示行 1.注册ActiveX控件(带上 VCbox.ocx的路径) regsvr32 VCbox.ocx 2.编译OCX文件 aximp VCbox.ocx 生成两个dll文件,项 ...
- MapWinGIS.ocx 注册
(1)不管对版本4.8还是4.9.3,运行环境都必须为32位的.Net Frame 3.5,低了高了都不行,会导致注册OCX失败. (2)对于MapWinGIS.ocx 4.8 版本,需要32位的 M ...
- #include <objsafe.h>//OCX控件在IE8浏览器下不能使用问题
一.OCX控件开发常见的问题 1.OCX控件在IE8浏览器下不能使用问题 原因:IE8会拦截OCX控件的方法. 解决方法:在OCX控件开发时加入安全接口. (1)在有"Crtl"字 ...
随机推荐
- js json转对象
使用eval() 读取 for (var i=0;i< response.length; i++) { //alert(response[i].username) html=html+" ...
- 64位windows+32位JDK8+32位eclipse是可以的
- Majority Element(ARRAY-BINARY SEARCH)
QUESTION Given an array of size n, find the majority element. The majority element is the element th ...
- Birthday(费用流)
Birthday https://www.nowcoder.com/acm/contest/206/A 题目描述 恬恬的生日临近了.宇扬给她准备了一个蛋糕. 正如往常一样,宇扬在蛋糕上插了n支蜡烛,并 ...
- .net使用httpHandler添加图片防盗链
.net使用httpHandler添加图片防盗链1. 配置web.config: <!--图片添加水印的配置--> <httpHandlers> <add verb=&q ...
- OC 线程操作 - GCD快速迭代
- (void)forDemo{ //全都是在主线程操作的 ; i<; i++) { NSLog(@"--%@", [NSThread currentThread]); } ...
- 建表Table
Sstudent表 学 号 Sno 姓 名 Sname 性 别 Ssex 年 龄 Sage 所 在 系 Sdept 200215121 ...
- Laravel 5.5 Api
Laravel api token验证使用方法 从 Laravel 5.2 开始, Laravel 的将路由的配置进行了分拆, 在 routes 目录下有 web.php 和 api.php 两个路由 ...
- 匹配数字、字母和?%&=-_这几个符号的正则表达式
/^[\w\?%&=\-_]+$/ 说明:(1) \w 代表 0-9a-zA-Z 即数字.字母 (2) \?%&=\-_ 匹配?%&=-_,而正则中?代表0个或1个,因为是特殊 ...
- Executor(二)ThreadPoolExecutor、ScheduledThreadPoolExecutor 及 Executors 工厂类
Executor(二)ThreadPoolExecutor.ScheduledThreadPoolExecutor 及 Executors 工厂类 Java 中的线程池类有两个,分别是:ThreadP ...