造数据可能是日常开发测试中的一项常见工作。笔者当前的项目中需要对系统中的历史数据进行统计分析,由于项目处于初级阶段,数据量比较小,所谓的“历史”数据更是无从获取,于是就需要根据现有的数据编造一些数据来进行功能测试。
造数据的工具可能有很多,我们甚至可以编写一个java程序直接用jdbc操作数据库,来批量生成数据。笔者使用的UltraEdit拥有强大的列操作功能,同时笔者还想挖掘一下其强大的脚本功能,于是着手写了一个js脚本。基本思想是:从数据库中导出现有数据的sql语句,用脚本找到其中需要替换的部分,乘以给定的系数作为新数据。
首先是从数据库中导出现有的数据,例如笔者需要的数据表中有70条数据,导出的sql语句类似下列语句:
Insert into T_REPORTSYNTHESIS (REPORTCODE,ZONEID,STATISTICDATE,DEVNAME,REPORTDATA,DATAUNIT) values ('1','320200',to_timestamp('01-11月-13','DD-MON-RR HH.MI.SSXFF AM'),'011000',’1262’,null);这70条数据是2013年11月1日的数据,现在我们来模拟70条2012年11月1日的数据。利用UltraEdit的列模式,我们可以很方便地将这70条数据的年份改为2012年,在id(REPORTCODE)为一位的行id前面加上’10’,在id为两位的行id前面’1’,这就得到了id为101到170之间的新的70条数据。
var ln = parseInt( UltraEdit.getString("从哪一行开始?",1) ); var doc = UltraEdit.activeDocument; doc.findReplace.regExp = true; // 开启正则表达式 UltraEdit.perlReOn();//启用正则表达式的perl模式 var whatToFind = "(?=.+')(\\d)+(\\.\\d+)?(?=',null)"; //doc.top(); doc.gotoLine(ln, 0); //doc.write(UltraEdit.regexMode.toString()); var ratio = parseFloat( UltraEdit.getString("输入转换比率",1) ); while(doc.findReplace.find(whatToFind)) { var found = doc.selection; var whatToReplace = parseFloat(found)*ratio; // doc.write(ratio.toString()); //很不人性化的一点:数字必须转化为字符串! doc.findReplace.replace(found,whatToReplace.toString()); }脚本里比较重要的是正则表达式,我们需要用一个正则表达式精确定位到待修改的数据列:
var whatToFind = "(?=.+')(\\d)+(\\.\\d+)?(?=',null)";
这个正则表达式选择了前面是单引号,后面是“’,null”的一串数字(整数或浮点数)。其中用到了零宽度断言和负向零宽度断言,关于正则表达式的技术细节,详见笔者的另一篇博文《正则表达式--笔记与实战(Eclipse文本替换)》。
要在UltraEdit的脚本里启用这种复杂的正则表达式,需要启用正则表达式的perl模式:UltraEdit.perlReOn();为了使用起来更方便,我们两次调用UltraEdit.getString,分别来动态获取要开始处理的起始行数,以及我们造数据使用的一个系数:我们将使用这个系数乘以现有的数据,例如乘以1.25,即可造出一批比现有数据大25%的新数据,let’s do it !
我们将上文提到的那段代码保存为一个js文件,例如“reduceSelectedNumByPercent.js”,然后点击“脚本”菜单中的“脚本”项,添加这个脚本文件到菜单下方的列表,然后在需要运行脚本的编辑视图下,点击菜单下方的脚本项即可,现在,用这个文本编辑器尽情的造数据吧!造完之后,当然不要忘了在你的数据库客户端执行最终的Sql语句。
利用脚本,我们可以直接在编辑器中,“可视化”地完成很多强大的功能,大家一起来挖掘吧。下面附上UltraEdit官方关于脚本的说明文档:
UltraEdit/UEStudio 的脚本通过嵌入 JavaScript 引擎启用。 这允许用户在享受完整 JavaScript 语言的强大和灵活的同时使用以下指定的命令与编辑器(应用程序对象命令),或在编辑器中打开的文档(文档对象命令)进行特别交互。 脚本可以在 UltraEdit/UEStudio 中编辑,在默认词语文件中带有内置 JavaScript 的语法加亮:
脚本引擎支持 JavaScript 1.7 的核心功能。 有关 JavaScript 的更多信息,请参考相关的 Mozilla 网站 (http://developer.mozilla.org/en/docs/JavaScript)。
例如,该脚本将生成一系列数字并将其写入活动的文档:
function recall(num) { UltraEdit.activeDocument.write(num + "\r\n"); } function num() { var i = 0, j = 1, n = 0; while (n < 10) { recall(i); var t = i; i = j; j += t; n++; } } num();
更多演示脚本位于安装目录的“scripts”子目录下。要查看简短的脚本指南,请点击这里。
在脚本中包含脚本
需要的话,用户可以在脚本中包含一个外部脚本,参考以下的方法:
// include externalScript.js
或
// include C:\full path\to external\script\externalScript.js
这个包含命令必须在前面加上行注记符。如果一个用户因调试的原因要排除这个包含的脚本,所包含的内容可以以两个行注记排除,如:
// // include externalScript.js
预设变量值
UltraEdit 支持一些变量值,当每次 UltraEdit 有脚本启动时它们会被初始化为预设值:
区块模式均为关闭。
十六进制模式均为关闭。
插入模式均为打开。
正则表达式引擎均设置为 Perl。
这些项会在每次运行一个脚本时被设置。
应用程序对象命令
UltraEdit 是全部 UltraEdit 操作所基于的应用程序对象。以下命令作用于编辑器而非活动文档。 除非注明其他参数,否则所有应用程序对象命令都必须使用下列格式调用:
UltraEdit.commandName();
下表说明了应用程序对象命令:
命令 |
参数* |
说明 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
clearClipboard |
清除活动的剪贴板。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
clipboardContent |
** 这是只读属性。 |
返回当前剪贴板内容。例如: var clip = UltraEdit.clipboardContent; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
clipboardIdx |
** 这是只读属性。 |
返回当前剪贴板的索引。例如: var clip = UltraEdit.clipboardIdx; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
closeFile |
文件路径 保存模式 0 - 提示保存 1 - 保存并关闭 2 - 关闭不保存 |
关闭活动的文件。例如: UltraEdit.closeFile("C:\\temp\\test.txt",2); *注意:在参数中使用的任何反斜线必须按以上显示进行换码(即使用“\\”而非“\”)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnMode |
** 这是只读属性。 |
返回布尔值说明列模式是否活动。例如: var columnActive = UltraEdit.columnMode; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnModeOff |
关闭列模式。例如: UltraEdit.columnModeOff(); *注意:脚本处理完成后当前列模式状态将恢复。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnModeOn |
打开列模式。例如: UltraEdit.columnModeOn(); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
decryptFilePrompt |
显示解密文件对话框。 例如: UltraEdit.decryptFilePrompt(); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
encryptFilePrompt |
显示加密文件对话框。 例如: UltraEdit.encryptFilePrompt(); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
frInFiles |
|
在指定的文件中搜索,基于指定的参数查找引号 "" 中的字符串。 在文件中查找示例: UltraEdit.frInFiles.directoryStart = "c:\\temp\\"; UltraEdit.frInFiles.searchInFilesTypes = "*.txt"; UltraEdit.frInFiles.useOutputWindow = true; UltraEdit.frInFiles.find("3939"); 在文件中替换示例: UltraEdit.frInFiles.directoryStart = "c:\\temp\\"; UltraEdit.frInFiles.searchInFilesTypes = "*.txt"; UltraEdit.frInFiles.useOutputWindow = true; UltraEdit.frInFiles.replace("3939", "7878"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
getString |
在提示对话框中使用的引号 ("") 中的字符串 可选参数: 0 int 1 int 返回值 |
提示用户在当前位置插入的字符串。 “提示”是指脚本运行时显示给用户的提示或问题。例如: UltraEdit.getString("What is your name?"); 或 var str = UltraEdit.getString("What is your name?",1); 如果使用 int 值“1”,则输入的字符串将不会写入活动文件,但会另存为变量值并在运行的脚本中使用。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
getValue |
在提示对话框中使用的引号 ("") 中的字符串 可选参数: 0 int 1 int 返回值 |
提示用户在当前位置插入的值。 “提示”是指脚本运行时显示给用户的提示或问题。例如: UltraEdit.getValue("How old are you?"); 或 var str = UltraEdit.getValue("How old are you?",1); 如果使用 int 值“1”,则输入的字符串将不会写入活动文件,但会另存为变量 int 值并在运行的脚本中使用。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
insertMode |
更改文本编辑模式中的字符输入为插入模式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
insOvrMode |
** 这是只读属性。 |
返回布尔值说明插入模式是否打开。例如: var insertActive = UltraEdit.insOvrMode; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
messageBox |
消息文本位于引号 ("") 中 标题文本位于引号 ("") 中(可选) |
显示带有“确定”按钮的消息对话框。例如: UltraEdit.messageBox("Can't complete process", "Process Abort"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
newFile |
打开新的空白文件。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
open |
文件名在引号("")中 |
打开指定的文件。文件名必须在引号中。可以使用“^c”且 UltraEdit 会将其替换为剪贴板中的内容。例如: UltraEdit.open("c:\\temp\\test.txt"); 或 UltraEdit.open('^c'); 或 UltraEdit.open("c:\\temp\\^c"); 或 UltraEdit.open("FTP::myserver.com\\/home/mypath/ public_html|index.html"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
overStrikeMode |
将文本编辑模式更改为输入字符的改写模式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
perlReOn |
将正则表达式切换为符合 Perl 样式的正则表达式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
regexMode |
** 这是只读属性。 |
返回数值表示活动的正则表达式类型。 0 = UltraEdit 表达式 1 = Unix 表达式 2 = Perl 表达式 例如: var regexType = UltraEdit.regexMode; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
runTool |
引号 ("") 中的字符指定要运行的工具的区分大小写的菜单名。 |
运行一个工具。该工具必须从高级菜单中的工具配置进行配置。例如: UltraEdit.runTool("Script Tool"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
save |
保存活动文件 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
saveAll |
保存所有活动文件 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
saveAs |
文件名在引号("")中 |
将活动文件用指定的文件名保存。文件名必须在引号中。文件名中可以使用“^s”。UltraEdit 将其取代为活动窗口中当前选中的文本。同样可以使用“^c”且 UltraEdit 会将其替换为剪贴板中的内容。 UltraEdit.saveAs("c:\\temp\\test.txt"); 或 UltraEdit.saveAs("^s"); 或 UltraEdit.saveAs("^c"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectClipboard |
剪贴板号码 (0-9) |
选择指定的剪贴板 0 = Windows 剪贴板,1-9 表示用户剪贴板。例如: UltraEdit.selectClipboard(2); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
ueReOn |
将正则表达式切换为 UltraEdit 样式的正则表达式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
unixReOn |
将正则表达式切换为 Unix 样式的正则表达式。 |
文档对象命令
document 是 JavaScript 阵列对象,阵列对象是UltraEdit 应用程序对象的属性。 这是所有当前同时打开文档的阵列。activeDocument 参数可以用来指定要写入活动文件的输出,或者用户可以根据文件选项卡顺序指定文件的索引(即文档 [0], ... 文档 [8])。 例如:
UltraEdit.activeDocument.write("test");
将“test”写入当前文档,同时以下:
UltraEdit.document[4].write("test");
将允许用户打开多个文件并将指定的文本写入打开待编辑的第五个文件(根据文件标签的顺序)。
脚本中可以使用“//”进行注释,用于测试和文档。
脚本一旦创建后便可以编辑。请注意,“^c”和“^s”可能在很多脚本中应用,使用时将取代剪贴板中的内容(^c)和当前选中的内容(^s)。这允许用户创建引用特定字符串的脚本,并将字符串用 ^c 或 ^s 取代,以便在脚本运行时动态地“指定”字符串。以下命令作用于当前打开的文档进行编辑。 除非注明其他参数,否则所有文档对象命令都必须使用下列格式调用:
UltraEdit.activeDocument.commandName();
下表说明了文档对象命令:
命令 |
参数* |
说明 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ansiToOem |
将文件从 ANSI 转换为 OEM。例如: UltraEdit.activeDocument.ansiToOem(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASCIIToUnicode |
转换 ASCII 文件到 Unicode |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASCIIToUTF8 |
转换 ASCII 文件到 UTF-8 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bottom |
跳转到文件结尾。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cancelSelect |
清除活动文档中的任何选择。示例: UltraEdit.activeDocument.cancelSelect(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clearAllBookmarks |
清除活动文档中的所有书签。例如: UltraEdit.activeDocument.clearAllBookmarks(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codePage |
** 这是一个活动/指定文件的属性。 |
回传活动文件的页码值。例如: var cp = UltraEdit.activeDocument.codePage; 可用来设置活动文件要使用的页码。例如: UltraEdit.open("C:\\temp\\korean_file.txt") UltraEdit.activeDocument.codePage = 949; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
collapseAll |
折叠活动文件中所有可折叠的文本。 例如: UltraEdit.activeDocument.collapseAll(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnCenterJustify |
将选中的列居中调整。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnCut |
要剪切的列编号数值 |
在列模式中剪切选中的列或从当前光标位置到文件末尾的指定数量的列。要剪切选中的列必须使用值“0”。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnDelete |
要删除的列编号数值 |
在列模式中删除选中的列或从当前光标位置到文件末尾的指定数量的列。要删除选中的列必须使用值“0”。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnInsert |
字符串位于引号 ("") 中 |
将引号中的字符串插入选中的列。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnInsertNum |
|
将数字插入选中的列。 如果没有选中的内容,则插入将从光标位置移至文件的最后一行。例如: UltraEdit.activeDocument.columnInsertNum(2, 3 , false, true); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnLeftJustify |
将选中的列居左调整。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
columnRightJustify |
将选中的列居右调整。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
copy |
将选中的文本复制到剪贴板。如果没有选中的内容,如果配置了当没有活动的选择时,启用当前行复制/追加选项,当前光标位置所在的行将被复制。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
copyAppend |
复制选中的文本并将其追加到剪贴板。如果没有选中的内容,如果配置了当没有活动的选择时,启用当前行复制/追加选项,当前光标位置所在的行将被复制。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
copyFilePath |
将活动文件的路径/名称复制到剪贴板。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currentChar |
** 这是活动/指定文档的只读属性。 |
返回光标处字符的值。例如: var char = UltraEdit.activeDocument.currentChar; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currentColumnNum |
** 这是活动/指定文档的只读属性。 |
返回当前列号的值。 第一列编号为“0”。例如: var col = UltraEdit.activeDocument.currentColumnNum; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currentLineNum |
** 这是活动/指定文档的只读属性。 |
返回当前行号的值。例如: var lineNum = UltraEdit.activeDocument.currentLineNum; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currentPos |
** 这是活动/指定文档的只读属性。 |
返回值为当前位置到文件开头的字节数。例如: var pos = UltraEdit.activeDocument.currentPos; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cut |
将选中内容从文件剪切到剪贴板。 如果没有选中的内容,则将剪切光标位置目前所在的行。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cutAppend |
将选中内容从文件中剪切并追加到剪贴板。 如果没有选中的内容,则将剪切光标位置目前所在的行。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleteText |
删除当前字符或选中的文本。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleteLine |
删除当前的行。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleteToEndOfLine |
将从光标位置开始删除一直到行的结尾。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleteToStartOfLine |
将从光标位置开始删除一直到行的开始。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dosToMac |
将文件(行终止符)转换为 MAC 格式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dosToUnix |
将文件(行终止符)转换为 UNIX 格式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dupeLine |
在光标下插入活动行的复制。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
encoding |
** 这是一个活动/指定文件的唯读属性。 | 回传活动文件的编码值。例如: var enc = UltraEdit.activeDocument.encoding; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
endSelect |
停止选择文本(详细信息请参见 startSelect)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
expandAll |
展开活动文件中所有折叠的文本。 例如: UltraEdit.activeDocument.expandAll(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fileSize |
** 这是活动/指定文档的只读属性。 |
返回引用文件的字节数大小。例如: var size = UltraEdit.activeDocument.fileSize; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
findReplace |
|
根据指定的参数查找引号 "" 中的字符串。例如: UltraEdit.activeDocument.findReplace.matchWord = true; UltraEdit.activeDocument.findReplace.find("3939"); 或 UltraEdit.document[0].findReplace.matchWord = true; UltraEdit.document[0].findReplace.matchCase = true; UltraEdit.document[0].findReplace.replace("Copper", "Silver"); 请注意:所有属性一旦设定便应用于之后的所有查找和替换,直到再次被设置为其他值。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fromEBCDIC |
将文本转换为 EBCDIC 格式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoBookmark |
跳转到的书签索引或 -1 转到下一个书签 |
跳转到下一个/指定的书签。索引从 0 开始。如果用户输入大于实际书签数的索引,则将自动引导到第一个书签(索引 0)。例如: UltraEdit.activeDocument.gotoBookmark(0); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoBookmarkSelect |
跳转到的书签索引或 -1 转到下一个书签 |
跳转到下一个/指定的书签并选择从光标位置到书签的文本。索引从 0 开始。如果用户输入大于实际书签数的索引,则将自动引导到第一个书签(索引 0)。例如: UltraEdit.activeDocument.gotoBookmarkSelect(0); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoEndOfNextWord |
跳转到下一个词语的尾部。示例: UltraEdit.activeDocument.gotoEndOfNextWord(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoEndOfNextWordSelect |
跳转到下一个词语的尾部并选择当前插入记号位置的所有文本。示例: UltraEdit.activeDocument.gotoEndOfNextWordSelect(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoEndOfPrevWord |
跳转到前一个词语的尾部。示例: UltraEdit.activeDocument.gotoEndOfPrevWord(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoEndOfPrevWordSelect |
跳转到前一个词语的尾部并选择当前插入记号位置的所有文本。示例: UltraEdit.activeDocument.gotoEndOfPrevWordSelect(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoLine |
要跳转到的行和列数的数值 |
跳转到指定的行和列号。使用行号 0 跳转到当前行的指定列。例如: UltraEdit.activeDocument.gotoLine(1,5); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoLineSelect |
要跳转到的行和列数的数值 |
跳转到指定的行号和列号并选择从光标位置到行/列的文本。选择文本时使用行号 0 跳转到当前行的指定列。例如: UltraEdit.activeDocument.gotoLineSelect(1,5); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoPage |
要跳转到页面的编号 |
跳转到指定的页号。例如: UltraEdit.activeDocument.gotoPage(5); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoPageSelect |
要跳转到页面的编号 |
跳转到指定的页号并选择从光标位置到页的文本。例如: UltraEdit.activeDocument.gotoPageSelect(5); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoPos |
数字值,以字节数指定该位置与文件开始处的距离 |
跳转到指定位置 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gotoPosSelect |
数字值,以字节数指定该位置与文件开始处的距离 |
Jump to specified position (passed as parameter in number of char from beginning of file) while making a selection |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hexDelete |
指定要删除的字节数的数值 |
从文件中删除指定数量的字节。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hexInsert |
指定要插入字节大小的数字值 |
将指定数量的字节插入文件。这将插入空格 (HEX 20)。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hexMode |
** 这是活动/指定文档的只读属性。 |
返回布尔值说明十六进制模式是否活动。例如: var hexActive = UltraEdit.activeDocument.hexMode; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hexOff |
|
关闭十六进制模式——切换到文本模式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hexOn |
打开十六进制模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideOrShowLines |
隐藏选中的行,或如果隐藏则显示在光标行处隐藏的行。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insertLine |
在光标当前位置的下面插入空白行。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insertPageBreak |
在文件光标目前所在位置插入换页/分页符。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insertTemplate |
引号中是后跟点号的模板组名称 ("glo.")(可选) |
把指定的模板插入文件中。通过指定模板名称(可指定亦可不指定模板组名称)即可插入全局模板。例如: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insertTemplate |
模版索引 |
将指定的模版插入文件。例如: UltraEdit.activeDocument.insertTemplate(0); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
invertCase |
转换所选文本的大小写。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isCharGt |
"字符" |
检查当前光标位置所在的字符是否大于指定的字符。例如:
//do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isChar |
"字符串" |
检查当前光标位置所在的字符是否为指定的字符。 例如: if (UltraEdit.document[1].isChar('k')){ //do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isColNum |
数字 |
检查当前光标位置是否为指定的列号。 例如: //do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isColNumGt |
数字 |
检查当前光标位置是否大于指定的列号。 例如: //do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isEof |
检查当前光标位置是否为文件的结尾。 例如: if (UltraEdit.document[1].isEof()){ //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isExt |
"字符串" |
检查活动文件的文件扩展名是否与指定字符串匹配。例如: if (UltraEdit.document[1].isExt("txt")){ //do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isFound |
检查脚本中上次找到的命令结果,并根据结果有条件地执行其他命令。例如: UltraEdit.activeDocument.findReplace.find("string"); if (UltraEdit.activeDocument.isFound()){ //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isFTP |
检查当前文件是否为通过 FTP/SFTP 加载的文件,而不是本地/网络文件。 if (UltraEdit.document[1].isFTP()){ //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isHexModeOn |
检查当前文件是否设置为十六进制/二进制模式。 if (UltraEdit.activeDocument.isHexModeOn()){ //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isName |
"字符串" |
检查活动文件的文件名(不是路径或扩展名)是否与指定字符串匹配。例如: if (UltraEdit.document[1].isName("foo")){ //do these commands... } else { //do these commands... } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isNotFound |
检查脚本中上次找到的命令结果,并根据结果有条件地执行其他命令。例如: UltraEdit.activeDocument.findReplace.find("string"); if (UltraEdit.activeDocument.isNotFound()){ //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isReadOnly |
此命令检查活动文档是否设置为只读。 例如: //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isSel |
检查活动文件中当前有没有选中的文本。 例如: //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isWordWrap |
此命令检查活动文档的自动换行状态。 例如: //do these commands... } else { //do these commands... } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
key |
BACKSPACE |
将键盘命令插入活动文件。通常用于在文件中导航以及退格或删除。“CTRL+”修改符可以用于常规编辑修改命令。 UltraEdit.activeDocument.key("BACKSPACE"); UltraEdit.activeDocument.key("CTRL+RIGHT ARROW"); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
length |
** 这是活动/指定文档的只读属性。 |
返回活动文档的数量。 例如: var num_of_docs = UltraEdit.document.length; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lineTerminator |
** 这是一个活动/指定文件的唯读属性。 |
回传一个活动文件用来表示行终止字符的数值。例如: var lt = UltraEdit.activeDocument.lineTerminator; 0 = DOS 1 = UNIX 2 = MAC |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
matchBrace |
|
查找下一个匹配的括号并选择括号中的文本。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
moveLineDown |
在活动文档中将当前行下移一行。 例如: UltraEdit.activeDocument.moveLineDown(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
moveLineUp |
在活动文档中将当前行上移一行。 例如: UltraEdit.activeDocument.moveLineUp(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
oemToAnsi |
将文件从 OEM 转换为 ANSI。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paste |
将剪贴板中的内容粘贴到文件中。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
path |
** 这是活动/指定文档的只读属性。 |
返回指定文件的完整路径。例如: var text = UltraEdit.activeDocument.path; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
previousBookmark |
跳到上一个书签。例如: UltraEdit.activeDocument.previousBookmark(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
previousBookmarkSelect |
跳转到上一个书签并选择从光标位置到书签的文本。例如: UltraEdit.document[1].previousBookmarkSelect(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
readOnlyOff |
将活动文档设置为可写 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
readOnlyOn |
将活动文档设置为只读 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
reIndentSelection |
重新缩进当前选中的文本。 例如: UltraEdit.activeDocument.reIndentSelection(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
returnToWrap |
|
将当前选中的硬回车转换为自动换行。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectAll |
选中文件中的全部文本。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selection |
** 这是活动/指定文档的只读属性。 |
返回当前选中的文本。例如: var text = UltraEdit.activeDocument.selection; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectLine |
|
选择活动行中的所有文本。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectToBottom |
选择从当前位置到文件末尾的所有文本。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectToTop |
选择从当前位置到文件开头的所有文本。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectWord |
选中当前词语(与双击词的作用相同)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setActive |
|
将指定文档设置为活动文档。例如: UltraEdit.document[1].setActive(); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sort |
|
Sort the file, or selected text according to specified parameters. UltraEdit.activeDocument.sort.ignoreCase = false; UltraEdit.activeDocument.sort.removeDuplicates = 1; UltraEdit.activeDocument.sort.remKey1 = true; UltraEdit.activeDocument.sort.remKey2 = true; UltraEdit.activeDocument.sort.type = 0; UltraEdit.activeDocument.sort.col1Start = 1; UltraEdit.activeDocument.sort.col1End = 15; UltraEdit.activeDocument.sort.col2Start = 35; UltraEdit.activeDocument.sort.col2End = 50; UltraEdit.activeDocument.sort.sort(); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sortAsc sortDes |
类型归类 0 - 根据字符顺序归类。 1- 根据数字值而非字符顺序归类。 2 - 指定归类必须针对现场。 3 -指定归类应使用其他归类方法。使用其他归类方法只需使用一个归类键。 忽略大小写 布尔值 true/false 删除重复 布尔值 true/false 归类键 int 可以指定多达四对开始/结束键。 |
用升序或降序方式排序文件或选定的文本。 例如: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
spacesToTabs |
将文件中的空格转换为制表符。这基于配置-自动换行/制表符设置中定义的制表符空格值。 如果制表符空格值设置为 3,则转换为一个制表符需要一组连续的三个空格。小于三个的连续空格都无法转换。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
spacesToTabsAll |
将文件中的所有空格转换为制表符。这基于配置-自动换行/制表符设置中定义的制表符空格值。 如果制表符空格值设置为 3,则转换为一个制表符需要一组连续的三个空格。小于三个的连续空格都无法转换。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startSelect |
开始选择。这将打开选择模式运行。任何光标的移动或放置都伴随选择并选中文本。endSelect 将停止选择模式。已选文本将保持选中状态直到正常编辑时其他命令导致其不被选中。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tabsToSpaces |
将文件中的所有制表符转换为空格。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeDate |
将时间和日期插入文件的光标位置。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
toCaps |
选定文本中的每个词语首字大写。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
toEBCDIC |
将文本转换为 EBCDIC 格式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
toggleBookmark |
在当前行设置或删除书签。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
toLower |
将选中文本转换为小写。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
top |
跳转到文件开头。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
toUpper |
将选中文本转换为大写。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
trimTrailingSpaces |
切掉当前文件每行尾部的空格。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unicodeToASCII |
转换 Unicode 文件到 ASCII。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unixMacToDos |
将活动文件(行终止符)从 Mac/Unix 转换为 DOS 格式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UTF8ToASCII |
转换 UTF-8 文件到 ASCII。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wordWrapOff |
关闭活动文档的自动换行 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wordWrapOn |
打开活动文档的自动换行 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrapToReturn |
执行换行时所在列的列号。列号为 0 则表示换行发生在窗口边缘 |
将选中内容从换行转换为硬回车。例如: UltraEdit.activeDocument.wrapToReturn(60); |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
write |
写入的文本位于引号 ("") 中 |
将指定的文本写入光标位置。例如: UltraEdit.activeDocument.write("This is a test."); 或 UltraEdit.activeDocument.write("^c"); 将在 write 命令中使用剪贴板内容。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xmlConvertToCRLF |
将单行的 XML 文件转换为缩进的 XML 格式。 |
输出窗口对象命令
outputWindow 是 JavaScript 阵列对象,阵列对象是UltraEdit 应用程序对象的属性。 除非注明其他参数,否则所有输出窗口对象命令都必须使用下列格式调用:
UltraEdit.outputWindow.commandName();
下表说明了输出窗口对象命令:
命令 |
参数* |
说明 |
clear |
清除输出窗口内容。例如: UltraEdit.outputWindow.clear(); |
|
copy |
复制输出窗口的内容到活动剪贴板。例如: UltraEdit.outputWindow.copy(); |
|
showOutput |
布尔值 true/false |
确定是否显示写入输出窗口中的针对用户数据。 现在只包含 outputWindow.write()。例如: UltraEdit.outputWindow.showOutput=false; |
showStatus |
布尔值 true/false |
确定是否在输出窗口中显示所有状态信息(脚本名称、脚本成功/失败和错误信息)。例如: UltraEdit.outputWindow.showStatus=true; |
showWindow |
布尔值 true/false |
切换输出窗口是否可见。例如: UltraEdit.outputWindow.showWindow(true); |
visible |
** 这是只读属性。 |
返回布尔值表示输出窗口是否可见。例如: UltraEdit.outputWindow.visible; |
write |
写入的文本位于引号 ("") 中 |
向输出窗口中写入指定的文本。 这将每次仅支持一行且不包含行终止符。例如: UltraEdit.outputWindow.write("This is a test."); |