Ich vermute, ich habe versehentlich meinen eigenen Beitrag als unangemessen markiert. Bitte kehren Sie das um.
Link zum Beitrag: (Zugriff auf die Systemeinstellungen in JSL, insbesondere die Einstellung des Datumsformats)
durch SteveTerry
https://community.jmp.com/t5/Discussions/How-to-access-System-Preferences-in-JSL-specically-the-date/mp/280619#M54365
Ich habe mich umgesehen und keine einfache Möglichkeit gefunden, die Einstellungen für die Systemeinstellungen in JSL abzurufen. & nbsp; Ich entwickle auf einem Mac (JMP 14 & amp; 15) - möchte aber auch wissen, wie dies unter Windows funktioniert. & nbsp; Das nächste, das ich bekam, war ein https://community.jmp.com/t5/Discussions/Manage-the-display-language-with-JSL-or-freezing-english/td-p/236566 "target =" _ self "> Diskussion zum Abrufen des Sprachcodes:
Systemdienst (Get Sprachcode);
Systemdienst klingt nach einer interessanten Funktion, aber ich konnte keine Dokumentation dazu finden. & nbsp; Ich suche nach einer allgemeinen Lösung, bin aber sofort daran interessiert, das Datumsformat zu finden (gemäß Einstellung in den Systemeinstellungen ➔ Sprache & Region ➔ Erweitert ... ➔ Daten ➔ Kurz), wie unten gezeigt:
Das Kurze Datumsbegrenzer sind normalerweise standardmäßig auf Schrägstriche eingestellt, wurden jedoch von mir in Bindestriche im obigen Bild geändert. & nbsp; Das spezielle Problem beim Ändern dieser Einstellung besteht darin, dass es sich darauf auswirkt, welche Argumente für die Eingabefunktion gültig sind. & nbsp; & nbsp; Die folgende Anweisung generiert beispielsweise einen Laufzeitfehler:
col & lt; & lt; Eingabeformat ("y / m / dh: m: s");
Der Code muss also stattdessen wie folgt aussehen:
col & lt; & lt; Eingabeformat ("ymd h: m: s");
Und umgekehrt, wenn die Systemeinstellungen des Benutzers auf Schrägstriche eingestellt sind. & nbsp; Wenn bei der Funktion Format & nbsp; die falsche Datumszeichenfolge angegeben wird, tritt kein Laufzeitfehler auf, aber die entsprechende datetime-Spalte ignoriert die Formateinstellung, und die Daten bleiben in ihrer unverständlichen Rohform erhalten.
Daher hängt die Menge der gültigen Argumente von der Einstellung des Benutzers ab, und der Code muss Lesen Sie zuerst diese Einstellung, um zu bestimmen, welches Format verwendet werden soll.
Um dieses Problem zu umgehen, konnte ich die Einstellungsinformationen aus einem System-Unix-Befehl sammeln und entsprechend analysieren: < / p>
// Unix-Befehl implementieren: // $ standardmäßig read com.apple.mail DateCellWidthCache | grep Mdyy Clear Log (); // Systemeinstellungen aus 'Standardwerten' lesen, die eine Datumsformatzeichenfolge enthalten. sDefaults = Programm ausführen (ausführbar ("/ usr / bin / defaults"), Optionen ({"read", "com.apple.mail", "DateCellWidthCache"}), Read Function ("text")); // Write (sDefaults); ss1 = Munger (sDefaults, 1, "M / t / jj"); // auf Schrägstrich prüfen. ss2 = Munger (sDefaults, 1, "Md-yy"); // auf Bindestrich prüfen. Show (ss1, ss2); Schreiben ("\! N"); Wenn (ss1 & gt; 0, Schreiben ("Verwenden von Schrägstrichen. \! N"); / * else if * / ss2 & gt; 0, Schreiben ("Verwenden von Bindestrichen. \! N"); / * else * / Write ("*** FEHLER: nicht erkanntes Datumsbegrenzer. \! N"); Schreiben ("Standardeinstellungen lesen com.apple.mail DateCellWidthCache: \! N"); Schreiben (sDefaults););
Dies scheint jedoch etwas ungeschickt zu sein, und ich kann mir vorstellen, dass es einen einfacheren Weg gibt. & nbsp; Es ist offensichtlich, dass die JMP-Engine diese Einstellung lesen kann, da sie im Dialogfeld "Spalteneigenschaften" basierend auf dieser Einstellung einen ganz anderen Satz von Zeitformaten anzeigt (siehe unten) (hier nur die Strichoptionen):
Meine Frage lautet also: Gibt es eine einfache Möglichkeit, beliebige Systemeinstellungen zu erhalten? (und das Datumsformat speziell) unter Verwendung von Systemdienst oder einer anderen Funktion?
Diese Nachricht hat 0 Antworten