RM报表的选项 注册表位置
HKCU\Software\WHF SoftWare\Report Machine\RMReport\Form\RMDesignerForm\
设计器-工具-选项的设置
HKCU\Software\WHF SoftWare0\Report Machine\Form\TRMEditorForm
文本编辑器窗口的,有个WordWrap自动换行的设置。
那个设置窗口,点击确定后,不会立即写注册表。设计创建关闭时,才会写注册表。
unit RM_Designer; const
rsGridShow = 'GridShow';
rsGridAlign = 'GridAlign';
rsGridSize = 'GridSize';
rsUnits = 'Units';
rsEdit = 'EditAfterInsert';
rsBandTitles = 'BandTitles';
rsAutoOpenLastFile = 'AutoOpenLastFile';
rsWorkSpaceColor = 'WorkSpaceColor';
rsInspFormColor = 'InspFormColor';
rsLocalizedPropertyName = 'LocalizedPropertyName';
rsShowDropDownField = 'ShowDropDownField';
rsLanguage = 'Language';
procedure TRMDesignerForm.SaveIni;
var
Ini: TRegIniFile;
Nm: string;
i: Integer;
begin
Ini := TRegIniFile.Create(RMRegRootKey + '\RMReport');
try
Nm := rsForm + Name;
Ini.WriteString(Nm, rsLanguage, RM_CurLanguage);
Ini.WriteBool(Nm, rsLocalizedPropertyName, RMLocalizedPropertyNames); //这样写的Boolean值,注册表里 数据类型 字符串,有点蛋疼。
Ini.WriteBool(Nm, rsAutoOpenLastFile, AutoOpenLastFile);
Ini.WriteBool(Nm, rsGridShow, ShowGrid);
Ini.WriteBool(Nm, rsGridAlign, GridAlign);
Ini.WriteInteger(Nm, rsGridSize, GridSize);
Ini.WriteInteger(Nm, rsUnits, Word(RMUnits));
Ini.WriteBool(Nm, rsEdit, FEditAfterInsert);
Ini.WriteBool(Nm, rsBandTitles, RM_Class.RMShowBandTitles);
Ini.WriteBool(Nm, rsShowDropDownField, RM_Class.RMShowDropDownField);
Ini.WriteInteger(rsForm + FInspForm.ClassName, 'SplitPos', FInspForm.SplitterPos);
Ini.WriteInteger(rsForm + FInspForm.ClassName, 'SplitPos1', FInspForm.SplitterPos1);
Ini.WriteBool(Nm, rsUseTableName, UseTableName);
Ini.WriteInteger(Nm, rsWorkSpaceColor, WorkSpaceColor);
Ini.WriteInteger(Nm, rsInspFormColor, InspFormColor);
if not IsPreviewDesign then
begin
Ini.WriteInteger(rsForm + FFieldForm.ClassName, 'SplitPos', FFieldForm.SplitterPos);
Ini.EraseSection(rsOpenFiles);
for i := to FOpenFiles.Count do
Ini.WriteString(rsOpenFiles, 'File' + IntToStr(i), FOpenFiles[i - ]);
end;
finally
Ini.Free;
end; RMSaveToolbars('\RMReport', [ToolbarStandard]);
RMSaveToolWinPosition('\RMReport', FInspForm);
RMSaveFormPosition('\RMReport', Self);
if not IsPreviewDesign then
begin
RMSaveToolWinPosition('\RMReport', FFieldForm);
end;
end;
procedure TRMDesignerForm.FormDestroy(Sender: TObject);
begin
FBusy := True;
FInspBusy := True;
FCurPageEditor.Editor_BeforeFormDestroy;
ClearUndoBuffer;
ClearRedoBuffer;
if FInspForm <> nil then
begin
FInspForm.RestorePos;
SaveIni;//这里
end; FreeAndNil(FEditorForm);
FreeAndNil(FFindReplaceForm);
FreeAndNil(FInspForm);
FreeAndNil(FFieldForm);
FreeAndNil(FOpenFiles);
FreeAndNil(FCurPageEditor);
end;
procedure TRegIniFile.WriteBool(const Section, Ident: string; Value: Boolean);
const
Values: array[Boolean] of string = ('', '');
var
Key, OldKey: HKEY;
begin
CreateKey(Section);
Key := GetKey(Section);
if Key <> then
try
OldKey := CurrentKey;
SetCurrentKey(Key);
try
inherited WriteString(Ident, Values[Value]);//这里是字符串
finally
SetCurrentKey(OldKey);
end;
finally
RegCloseKey(Key);
end;
end;
RM报表的选项 注册表位置的更多相关文章
- windows 10 右键菜单注册表位置
1. 查找 1.1. 打开注册表 # 1. 使用快捷键打开 “运行” win + r # 2. 在 “运行” 中输入 regedit # 3. 回车 1.2. 点击 查找 # 1. 方法 1 : 点击 ...
- 【Qt】QSettings读写注册表、配置文件【转】
简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见“更多参考 ...
- QSettings读写注册表、配置文件
简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见" ...
- Eclipse出错不断,注册表不能乱改
Eclipse打不开,始终报错,还能不能开心的敲代码了??? 首先说下造成我这个愚蠢错误的起源:电脑是win10系统,本来是可以正常使用的.某一天,我正在使用python,打开命令提示符,看见开头是中 ...
- 10#Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
- Internet Explorer 安全区域注册表项说明
引用网址:http://support.microsoft.com/kb/182569/zh-cnInternet Explorer 安全区域设置存储在以下注册表子项下面: HKEY_LOCAL_MA ...
- [转帖]Windows注册表内容详解
Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...
- Window权限维持(一):注册表运行键
在红队行动中在网络中获得最初的立足点是一项耗时的任务.因此,持久性是红队成功运作的关键,这将使团队能够专注于目标,而不会失去与指挥和控制服务器的通信.在Windows登录期间创建将执行任意负载的注册表 ...
- Windows注册表内容详解
Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17) 第一课 注册表 ...
随机推荐
- commonJS — 自定义事件处理(for CustomEvent)
for CustomEvent github: https://github.com/laixiangran/commonJS/blob/master/src/forCustomEvent.js 代码 ...
- POJ 1218
题目描述看着就乐了,死板得只按着题意来写了ps: tequi是escape的方言版.. #include <iostream> using namespace std; int main( ...
- drupal里面的ajax最粗浅的理解-流程
1, form里面的ajax所在地表单元素有一个事件,激发system/ajax,相应的有ajax_form_callback(), 会把被改变的元素值传到form_state[values]中, ...
- android fragment 博客 学习记录
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...
- 销售 >> 当今社会生产力最大的源泉为 >>自助服务 与推销员随之消失
销售可能是变化最大的企业职能.比如,经济学家喜欢提出陷阱问题“什么概念或者想法成为当今社会生产力最大的源泉?” 大多数人回答计算机, 正确的回答是自助服务与推销员随之消失 ...
- 索引器(C# 编程指南)
原文地址:https://msdn.microsoft.com/zh-cn/library/6x16t2tx(VS.80).aspx 索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于 ...
- js键盘操作事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- DOM事件流
DOM事件标准定义了两种事件流:Capture(捕获)和Bubbing(冒泡):捕获和冒泡是javascript针对dom事件处理的先后顺序,所谓的先后顺序是指针对父标签与其嵌套子标签,如果父标签与嵌 ...
- C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组
#include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加 ...
- java对于文件传输时---编码格式的一些设置方法
- ----转 读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够 ...