[ABUSO] Di: SteveTerry / Board: discussioni (54365)Sospetto di aver inavvertitamente contrassegnato il mio post come inappropriato. Per favore, invertilo.
Link al post: (Come accedere alle Preferenze di Sistema in JSL, in particolare l'impostazione del formato della data)
di SteveTerry
https://community.jmp.com/t5/Discussions/How-to-access-System-Preferences-in-JSL-specifically-the-date/mp/280619#M54365
Ho cercato in giro e non ho trovato alcun modo semplice per ottenere le impostazioni delle Preferenze di Sistema da JSL. & nbsp; Sto sviluppando su un Mac - (JMP 14 e 15) - ma vorrei anche sapere come farlo su Windows. & nbsp; Il più vicino che ho ottenuto è stato un https://community.jmp.com/t5/Discussions/Manage-the-display-language-with-JSL-or-freezing-english/td-p/236566 "target =" _ self "> discussione su come ottenere il codice della lingua:
& nbsp;
Servizio di sistema (Ottieni Language Code);
System Service sembra una funzione interessante, ma non sono riuscito a trovare alcuna documentazione su di esso. & nbsp; Sto cercando una soluzione generale ma sono immediatamente interessato a trovare il formato della data, (per impostazione in Preferenze di Sistema ➔ Lingua e regione ➔ Avanzate ... ➔ Date ➔ Short), come mostrato di seguito:
& nbsp;
Il I delimitatori di date brevi sono normalmente impostati su barre per impostazione predefinita, ma sono stati modificati da me in trattini nell'immagine sopra. & nbsp; Il problema specifico riscontrato con la modifica di questa impostazione è che influisce sugli argomenti validi per la funzione Input & nbsp; Format & nbsp;. & nbsp; Ad esempio, la seguente istruzione genererà un errore di runtime:
& nbsp;
col & lt; & lt; Formato di input ("y / m / dh: m: s");
Quindi il codice deve invece essere simile a:
col & lt; & lt; Formato di input ("ymd h: m: s");
E il contrario è vero se l'utente ha le sue Preferenze di Sistema impostate su barre. & nbsp; Inoltre, con la funzione Formato & nbsp; se viene fornita la stringa di data errata, non ci sarà un errore di runtime, ma la colonna data / ora pertinente ignorerà il impostazione del formato e i dati verranno lasciati nella loro forma grezza e incomprensibile.
& nbsp;
Pertanto, la serie di argomenti validi dipende dalle impostazioni dell'utente e il codice deve leggere prima questa impostazione per determinare quale formato utilizzare.
& nbsp;
Come soluzione alternativa, sono stato in grado di raccogliere le informazioni sulle impostazioni da un comando Unix di sistema e analizzarle di conseguenza: < / p>
& nbsp;
// implementa il comando Unix: // $ defaults legge com.apple.mail DateCellWidthCache | grep Mdyy Clear Log (); // legge le Preferenze di Sistema da "default" che contiene la stringa del formato della data. sDefaults = Esegui programma (eseguibile ("/ usr / bin / defaults"), Opzioni ({"read", "com.apple.mail", "DateCellWidthCache"}), Funzione di lettura ("text")); // Scrivi (sDefaults); ss1 = Munger (sDefaults, 1, "M / g / aa"); // controlla lo stile della barra. ss2 = Munger (sDefaults, 1, "Md-yy"); // controlla lo stile del trattino. Mostra (ss1, ss2); Scrivi ("\! N"); If (ss1 & gt; 0, Write ("Using slashes. \! N");, / * else if * / ss2 & gt; 0, Write ("Using dashes. \! N");, / * else * / Write ("*** ERRORE: delimitatore di data non riconosciuto. \! N"); Write ("defaults read com.apple.mail DateCellWidthCache: \! N"); Write (sDefaults););
Tuttavia, questo sembra un po 'goffo e immagino che ci sia un modo più semplice. & nbsp; È evidente che il motore JMP può leggere questa impostazione poiché presenta un insieme molto diverso di formati di ora nella finestra di dialogo Proprietà colonna in base a questa impostazione, come mostrato di seguito (presentando qui solo le opzioni dei trattini):
& nbsp;
Quindi, la mia domanda è: & nbsp; C'è un modo semplice per ottenere valori arbitrari per le preferenze di sistema (e il formato della data in particolare) utilizzando & nbsp; Servizio di sistema & nbsp; o qualche altra funzione?
& nbsp;
Questo messaggio ha 0 risposte