我懷疑我無意中將自己的帖子標記為不合適。 請把那倒過來。
鏈接發布: (如何訪問JSL中的“系統偏好設置”,特別是日期格式設置)
通過史蒂夫·特里
https://community.jmp.com/t5/Discussions/How-to-access-System-Preferences-in-JSL-specifically-the-date/mp/280619#M54365
我到處搜索,沒有找到從JSL中獲取系統偏好設置的任何簡單方法。 我正在Mac(JMP 14和15)上進行開發,但也想知道如何在Windows上進行操作。  我最近的是 https://community.jmp.com/t5/Discussions/Manage-the-display-language-with-JSL-or-freezing-english/td-p/236566 “ target =” _ self“>討論有關如何獲取語言代碼的信息:
 
系統服務(獲取語言代碼);
系統服務聽起來很有趣,但是我找不到任何文檔。 我正在尋找一種通用的解決方案,但立即對查找日期格式感興趣(根據“系統偏好設置”➔“語言和地區”➔“高級...”中的設置)。 ➔日期➔短),如下所示:
 
默認情況下,> Short 日期分隔符通常設置為斜杠,但我在上圖中將其修改為破折號。 更改此設置後,我發現的一個具體問題是,它會影響輸入格式功能的有效參數。  例如,以下語句將生成運行時錯誤:
 
col<<輸入格式(“ y / m / dh:m:s”);
因此代碼必須改為:
col<<輸入Format(“ ymd h:m:s”);
,如果用戶將其“系統偏好設置”設置為斜杠,則反之為true。  此外,使用 Format 函數,如果給出了錯誤的日期字符串,則不會出現運行時錯誤,但相關的datetime列將忽略格式設置,則數據將以其原始的,難以理解的形式保留。
 
因此,有效參數的集合取決於用戶的設置,並且代碼必須首先,請閱讀此設置以確定要使用的格式。
 
作為一種解決方法,我能夠從系統Unix命令收集設置信息並據此進行解析:< / p>
&nbsp;
//實現Unix命令:// $默認讀取com.apple.mail DateCellWidthCache | grep Mdyy清除Log(); //從包含日期格式字符串的“默認值”中讀取系統偏好設置。 sDefaults =運行程序(Executable(“ / usr / bin / defaults”),Options({“” read“,” com.apple.mail“,” DateCellWidthCache“}),Read Function(” text“))); //寫入(sDefaults); ss1 = Munger(sDefaults,1,“ M / d / yy”); //檢查斜線樣式。 ss2 = Munger(sDefaults,1,“ Md-yy”); //檢查破折號樣式。 顯示(ss1,ss2);寫(“ \!n”); If(ss1&gt; 0,Write(“使用斜線。\!n”);,/ *否則* / ss2&gt; 0,Write(“使用破折號。\!n”);,/ * else * /寫入(“ *** ERROR:無法識別的日期分隔符。\!n”); Write(“默認讀取com.apple.mail DateCellWidthCache:\!n”); Write(sDefaults););
但是,這似乎有點笨拙,我想有一種更簡單的方法。 顯然,JMP引擎可以讀取此設置,因為它基於此設置在“列屬性”對話框中顯示了非常不同的時間格式集,如下所示(此處僅顯示破折號):
&nbsp;
因此,我的問題是:是否有一種簡單的方法來獲取任意的系統偏好設置值(特別是日期格式)是通過使用系統服務&nbsp;或其他一些功能?
&nbsp;
該消息有0條回复