JSL脚本设置的数据表屏幕尺寸并不总是与.jmp文件一起保存我发现,当我使用 JSL 设置数据表的窗口大小,然后将其保存出来时,至少有一种模式下窗口大小设置似乎没有与 .jmp 文件一起保存。 相反,似乎上次手动保存的设置(即通过 UI)中的窗口大小设置用于(或与 .jmp 文件一起保存)。 以下代码由我的 JSL 脚本中的片段组成,因此尚未经过本身测试,但具有代表性:
dt = Current Data Table();
window = Get Window( dt );
window << Set Window Size( 1300, 700 );<BR />dt << <SPAN>Save</SPAN>( <SPAN>"myTable</SPAN><SPAN>.jmp"</SPAN> );
dt << Close Window;
我也尝试过使用设置内容大小()代替设置窗口大小() ,而且它的行为似乎也是一样的。 (从文档中我不清楚哪个更适合此目的;也许有人可以评论两者之间的具体区别。)
我在 Windows 7 下运行 JMP 14.2 时遇到此行为。但是,我注意到,在 Mac OS(运行 14.3)中,我无法重现该问题,并且 JMP 表窗口大小始终按 JSL 的预期保存脚本。 这让我想知道是否有任何用户首选项设置覆盖了脚本的参数。 (我以前遇到过这个问题打开() .)
我能找到的关于这个主题的唯一其他讨论通常是屏幕尺寸,但似乎没有直接关系。
回复:JSL 脚本设置的数据表屏幕尺寸并不总是与 .jmp 文件一起保存嘿 Hadley、Craige 和 JMP Community – 我相信我已经将问题归结为代码中的错误。 我最初注意到我也尝试过使用设置内容大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN>代替设置窗口大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN> 。 但事实上,我在 Mac 和 Windows 端的原始代码都使用设置内容大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN> ,我最近才将 Mac 代码转换为使用设置窗口大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN> —(可能是我调试此问题的努力的一部分)。 但现在,在也申请之后设置窗口大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN>对于 Windows 代码,我发现窗口大小是持久的,并且在打开文件时始终如预期。 我没有早点建立这种联系的原因可能是设置内容大小<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation"> )</SPAN>看起来在 Mac 环境中也能达到此目的,我的大部分开发工作都是在 Mac 环境中进行的。
回复:JSL 脚本设置的数据表屏幕尺寸并不总是与 .jmp 文件一起保存JMP 保留最近窗口位置/大小的列表(在 Windows 注册表中,与表中的大小分开),以便它可以在与以前相同的位置和大小中重新打开脚本和表。它们与桌子所知道的有关其首选尺寸的任何东西进行竞争。@jschroedl
回复:JSL 脚本设置的数据表屏幕尺寸并不总是与 .jmp 文件一起保存嗨哈德利——这是一个非常聪明的解决方法! 我不知道如果 JMP 在打开数据表文件时找到名为“OnOpen”的脚本,它会自动运行该脚本。 这是一个非常好的功能,我开始考虑它的其他不相关的应用程序!
在接受此解决方案之前,我想了解这是否是在 Windows 上运行的 JMP 14 的已知问题,如果是,是否已在 JMP 15 中解决或计划在 JMP 16 中解决。如果您或某人您的同事可以发现这一点,这将非常有帮助。
回复:JSL 脚本设置的数据表屏幕尺寸并不总是与 .jmp 文件一起保存你好,
我相信这是一个 Windows 问题,但这里有一个解决方法:
dt = Current Data Table();
dt << New Script(
"OnOpen", // create the script
window = Get Window( Current Data Table() );
window << Set Window Size( 1300, 700 );
);
dt << Save( "myTable.jmp" );
dt << Close Window;
请尝试这个并让我知道它是否适合您。