Categorie
Computer, hardware e software Uno Script al giorno

Personalizzare l’ora e la data di Jaws.

Modificare gli script originali.

Conoscere gli script di Jaws ci consente non solo di crearne di nuovi, ma anche di modificare quelli che ci sono già. A volte, infatti, le esigenze o i gusti personali ci portano a volere qualcosa di diverso da quello che Jaws ci fornisce, compiendo delle migliorie anche solo formali.

Questo è il caso dello script proposto da un utente di Jaws, Paolo Tommasi che ringraziamo, il quale ci ha inviato la propria personalizzazione di
SaySystemTime
, (LeggiTempoSistema). Questo è lo script che viene attivato con la pressione di
TastoJaws+F12
, per leggere l’ora, oppure premendo gli stessi tasti due volte velocemente, per sapere anche la data.

Nel codice che segue abbiamo riportato lo script originale, dove le quattro righe personalizzate sono separate dalle altre istruzioni tramite una riga vuota, e corredate di commento in italiano. Il corpo dello script è preceduto dalla assegnazione dei messaggi che, all’interno dello stesso script, saranno poi formattati con le stringhe personalizzate:

messages
@PmsgOra
sono le %1
@@
@PmsgData
oggi è %1
@@
EndMessages

Script SaySystemTime ()
var
string sTimeOrDate
if GetRunningFSProducts() == product_MAGic
&& IsSpeechOff() then
ExMessageBox(FormatString(cMsgGetSysTimeAndDate,SysGetTime(),SysGetDate()),
cscNull,MB_ICONINFORMATION)
return
endIf
If (IsSameScript ()) then

let sTimeOrDate = SysGetDate ("dddd dd MMMM yyyy"); personalizziamo la stringa con la data,
Let sTimeOrDate = FormatString (PmsgData, sTimeOrDate); e la riformattiamo

Else

let sTimeOrDate = SysGetTime ("H E m"); personalizziamo la stringa separando ore e minuti,
Let sTimeOrDate = FormatString (PmsgOra, sTimeOrDate); e la riformattiamo

endIf
SayUsingVoice ( VCTX_MESSAGE, sTimeOrDate, ot_user_requested_information)
EndScript

Chi fosse interessato a provare questo script, e non conoscesse il modo di farlo, può consultare l’articolo che parla proprio di come aggiungere uno script alla propria configurazione di Jaws.

Per la sua funzione, va certamente inserito nel file script predefinito,
Default.JSS.
Fate attenzione a copiare sia lo script che l’assegnazione dei messaggi che lo precede, pena il mancato funzionamento dello script.

Poiché si tratta di una versione aggiornata di un elemento di codice già presente nel file script, per farlo funzionare si può agire in due modi:

  1. Sostituire la versione esistente, avendo cura di farlo selezionando lo script nel codice originale con
    Control+R
    , quindi cancellandolo con Delete. Con questo sistema, una volta compilato, non sarà neppure necessario confermare i tasti di attivazione precedenti.
  2. Rinominare lo script modificato, magari mettendo anche solo un acronimo davanti al nome, come ad esempio
    PsSaySystemTime ()
    , entrare nel codice dello script e premere
    Control+D
    per mostrare la schermata di modifica, dove premere
    Alt+A
    per poter poi confermare la combinazione
    TastoJaws+F12.
    Poi, quando si presenta la richiesta di confermare quei tasti, che sono ovviamente già assegnati allo script originale, sarà sufficiente spostarvi su Ok e poi Premere Invio sino a terminare la modifica.

A prescindere dal tipo di inserimento scelto, una volta tornati all’Editor, si dovrà premere
Control+S
per salvare compilando. Si potrà quindi collaudare il proprio lavoro, premendo i classici comandi per leggere l’ora e la data, e verificare i cambiamenti.

a chi interessasse conoscere nel dettaglio cos’è stato fatto, consigliamo di proseguire nella lettura, perché daremo anche qualche spiegazione sul funzionamento dello script originale.

Lo script SaySystemTime () e Le modifiche apportate.

Lo script originale di Jaws funziona in tre fasi principali:

  1. In una prima struttura di controllo, la funzione
    GetRunningFSProducts
    , (OttieniProdottiFreedomScientificAttivi), verifica che sia in azione il software
    Magic
    , mentre la funzione
    IsSpeechOff
    , (E’LaSintesiSpenta), controlla appunto che la voce non sia attiva. Se così è, viene proposto un avviso tramite la funzione
    ExMessageBox
    , (CasellaMessaggi), quindi il comando
    Return
    interrompe lo script.
  2. In una seconda struttura, la funzione integrata
    IsSameScript
    , (E’LoStessoScript), controlla se la combinazione tasti che attiva lo script è stata premuta più volte, oppure una sola. Sulla base di quale condizione sia vera, la variabile
    sTimeOrDate
    Riceve la stringa ottenuta tramite le funzioni integrate
    SysGetDate
    , (OttieniDataSistema), e
    SysGetTime
    , (OttieniOraSistema), opportunamente formattate.
  3. Una volta definito il testo, la funzione
    SayUsingVoice
    , (LeggiUtilizzandoVoci), lo pronuncia.

Le modifiche sono state compiute al punto 2, e precisamente cambiando il testo usato per formattare il risultato delle due citate funzioni native di Jaws. Pur rinviando per le informazioni generali alla lettura del quarto capitolo della Guida agli Script di Jaws , nel dettaglio le due modifiche sono state le seguenti:

  1. Alla funzione integrata
    SysGetDate ()
    ,si è passato il parametro
    "dddd dd MMMM yyyy"
    , per confermare i dati in forma estesa.
  2. Alla funzione
    SysGetTime ()
    , invece, è stato passato il parametro
    "H E m"
    , per far visualizzare i dati relativi, nell’ordine, ad ore e minuti separati dalla congiunzione
    e.

Per maggiori informazioni, rivolgersi a:

paolo.tommasi@unoscriptalgiorno.it

Uno Script al giorno, toglie gli ostacoli di torno!

Questo articolo fa parte dell'iniziativa nel titolo, che qui viene presentata nel dettaglio., nella quale si daranno spazio a script per vari linguaggi realizzati dagli utenti, oppure messi a punto sulla base di specifiche richieste da questi pervenuteci.

Per ulteriori informazioni, o inviare materiale, rivolgetevi direttamente a:

abramo.volpato@ unoscriptalgiorno.it

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *