iMaccanici Assistenza Apple
Forum
Oggi è sab, 25 nov 2017 08:31

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 5 messaggi ] 
Autore Messaggio
MessaggioInviato: mer, 01 nov 2017 16:57 
Non connesso

Iscritto il: mer, 01 nov 2017 16:45
Messaggi: 3
Salve a tutti,

mi sto scontrando con un problema in Applescript.
Probabilmente è anche stupido ma non riesco a farlo.

In pratica avendo questo
Codice:
display dialog "Si o No?" buttons {"Yes", "No"} default button 1 giving up after 5

dopo 5 secondi il button 1 (cioè Yes, giusto?) viene selezionato di default

Quello che vorrei fare è intercettare il valore che restituisce il button Yes

Se faccio così
Codice:
set the my_choice to the button returned of the result
if my_choice is "Yes" then
   display dialog "Yes"
else if my_choice is "No" then
   display dialog "No"
end if

non ottengo niente, segno che il valore resituito non è Yes nè No

È possibile fare quello che voglio?

Grazie


top
 Profilo  
 
MessaggioInviato: mer, 01 nov 2017 19:19 
Non connesso
Genio guastatore
Genio guastatore
Avatar utente

Iscritto il: mer, 30 dic 2009 10:30
Messaggi: 7417
Località: Pomigliano D'Arco (NA)
Alessio Forconi ha scritto:
Salve a tutti,

mi sto scontrando con un problema in Applescript.
Probabilmente è anche stupido ma non riesco a farlo.

In pratica avendo questo
Codice:
display dialog "Si o No?" buttons {"Yes", "No"} default button 1 giving up after 5

dopo 5 secondi il button 1 (cioè Yes, giusto?) viene selezionato di default

Quello che vorrei fare è intercettare il valore che restituisce il button Yes

Se faccio così
Codice:
set the my_choice to the button returned of the result
if my_choice is "Yes" then
   display dialog "Yes"
else if my_choice is "No" then
   display dialog "No"
end if

non ottengo niente, segno che il valore resituito non è Yes nè No

È possibile fare quello che voglio?

Grazie



se ricordo bene dovresti utilizzare i Booleans :


Yes = true

if != true
fai qualcosa
else
fai qualcosa

_________________

Scrivo su iMaccanici con TapaTalk per MacBook Air


top
 Profilo WWW  
 
MessaggioInviato: mer, 01 nov 2017 19:28 
Non connesso

Iscritto il: mer, 01 nov 2017 16:45
Messaggi: 3
Ahimè no, neanche con true o false funziona.
In realtà ho visto con
Codice:
display dialog "Si o No?" buttons {"Yes", "No"} default button 1 giving up after 5

set the my_choice to the button returned of the result
if my_choice is "Yes" then
   display dialog "Yes"
else if my_choice is "No" then
   display dialog "No"
else
   display dialog my_choice
end if

che il valore restituito è " ", cioè niente.
Ovviamente in caso prema uno dei due bottoni tutto funziona correttamente.

Comincio a pensare non si possa fare


top
 Profilo  
 
MessaggioInviato: gio, 02 nov 2017 09:05 
Non connesso
Genio guastatore
Genio guastatore
Avatar utente

Iscritto il: mer, 30 dic 2009 10:30
Messaggi: 7417
Località: Pomigliano D'Arco (NA)
Immagine

_________________

Scrivo su iMaccanici con TapaTalk per MacBook Air


top
 Profilo WWW  
 
MessaggioInviato: ven, 03 nov 2017 23:33 
Non connesso

Iscritto il: mer, 01 nov 2017 16:45
Messaggi: 3
Dato che mi sono interstardito ho continuato a provare e ho trovato questo workaround che usa la clausola gave up, che è quello che succede quando si lascia scorrere l'intervallo definito con giving up after n

Codice:
set choice to display dialog "Scegli Si o No " buttons {"Yes", "No"} default button "Yes" giving up after 5


if (button returned of choice) is "Yes" or (gave up of choice) then
   display dialog "Yes"
else if button returned of choice is "No" then
   display dialog "No"
end if

In questo modo, ovviamente, dando Invio si sceglie attivamente e come predefinito "Yes" oppure "No" se si vuole, mentre lasciando finire il tempo di giving up la condizione or (gave up of choice) agisce come se si fosse scelto "Yes".
In realtà però giving up in n è solo un tempo dato trascorso il quale si chiude la display dialog senza intervento dell'utente e senza memorizzare alcuna scelta ed è in questo che consiste la limitazione, cioè che se anche mettessi or (gave up of choice) su "No" questa non avrebbe valore perchè si ferma solo e sempre alla prima or (gave up of choice) che trova nel blocco if.


top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 5 messaggi ] 


Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Design by iMaccanici
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010