Alors, AppleScript et moi, on est un peu fâchés mais je ne desespère pas
d'y arriver un jour :)
Je suis en train de faire mumuse avec deux ou trois trucs et je bute sur
deux problèmes.
Voici un bout de code :
-------------%<------------%<--------------------
set logsList to {"bla", "blabla", "Autre"}
set logChoosen to (choose from list logsList with prompt "Choisissez un
element :" default items {"bla"} without multiple selections allowed and
empty selection allowed)
set the logAddress to the logChoosen as string
if the logAddress is false then quit
-------------%<------------%<--------------------
Premiers, trucs, quand je choisis Autre, je renvoie sur une fenêtre qui
demande à l'utilisateur de saisir son truc, ça fonctionne, ça je gère.
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un
élément de ma liste, c'est possible ?
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais
il ne fait rien :(
Dans d'autres parties de mon script, ça fonctionne, j'intercepte bien le
false et ça arrête, mais pas là...
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Stadelmann
In article <1hdt6t2.1h90ma11clufrbN%, (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée, il faut passer par AppleScript Studio.
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit set the logAddress to the logChoosen as string
Patrick -- Patrick Stadelmann
In article <1hdt6t2.1h90ma11clufrbN%laurent.pertois@alussinan.org>,
laurent.pertois@alussinan.org (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un
élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et
Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée,
il faut passer par AppleScript Studio.
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais
il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit
tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit
set the logAddress to the logChoosen as string
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1hdt6t2.1h90ma11clufrbN%, (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée, il faut passer par AppleScript Studio.
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit set the logAddress to the logChoosen as string
Patrick -- Patrick Stadelmann
laurent.pertois
Patrick Stadelmann wrote:
Ah, Patrick, encore toi pour m'aider :)
In article <1hdt6t2.1h90ma11clufrbN%, (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée, il faut passer par AppleScript Studio.
Bon, tant pis, je vais continuer avec mon Autre dans la liste, AppleScript Studio, là, je craque :)
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit set the logAddress to the logChoosen as string
Suis-je bête, merci mille fois.
Ah ben, je viens de tester, il quitte bien le script mais il continue sur ce qu'il y a en-dessous :-/
Par contre, au début du script j'ai d'autres conditions comme celle-ci qui fonctionnent très bien.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
Ah, Patrick, encore toi pour m'aider :)
In article <1hdt6t2.1h90ma11clufrbN%laurent.pertois@alussinan.org>,
laurent.pertois@alussinan.org (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un
élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et
Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée,
il faut passer par AppleScript Studio.
Bon, tant pis, je vais continuer avec mon Autre dans la liste,
AppleScript Studio, là, je craque :)
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais
il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit
tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit
set the logAddress to the logChoosen as string
Suis-je bête, merci mille fois.
Ah ben, je viens de tester, il quitte bien le script mais il continue
sur ce qu'il y a en-dessous :-/
Par contre, au début du script j'ai d'autres conditions comme celle-ci
qui fonctionnent très bien.
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
In article <1hdt6t2.1h90ma11clufrbN%, (Laurent Pertois) wrote:
Mais, j'aurais préféré que ce "Autre" soit un bouton plutôt qu'un élément de ma liste, c'est possible ?
Non, la commande "choose from list" ne propose que le bouton OK et Annuler (que l'on peut renommer). Si tu veux une interface plus évoluée, il faut passer par AppleScript Studio.
Bon, tant pis, je vais continuer avec mon Autre dans la liste, AppleScript Studio, là, je craque :)
Ensuite, le dernier "if" essaie d'intercepter l'appui sur "cancel", mais il ne fait rien :(
Tu as converti la réponse en texte (string) juste avant. Il faut soit tester comme suit :
if the logAddress is "false" then
ou mieux, tester avant de convertir en chaîne :
if logChoosen is false then quit set the logAddress to the logChoosen as string
Suis-je bête, merci mille fois.
Ah ben, je viens de tester, il quitte bien le script mais il continue sur ce qu'il y a en-dessous :-/
Par contre, au début du script j'ai d'autres conditions comme celle-ci qui fonctionnent très bien.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Patrick Stadelmann
In article <1hdtz2z.j53n7r17oaj4eN%, (Laurent Pertois) wrote:
Ah ben, je viens de tester, il quitte bien le script mais il continue sur ce qu'il y a en-dessous :-/
Ah oui, je n'avais pas fais gaffe, c'est un piège classique !
Par contre, au début du script j'ai d'autres conditions comme celle-ci qui fonctionnent très bien.
Non... En fait, avec "display dialog" si l'on choisit "annuler" le script quitte automatiquement avec une erreur "user canceled". Tes "quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit" au début du script. En fait, le "quit" est bien envoyé mais il ne sera traité qu'après l'exécution du script (sauf si tu es dans Script Editor qui lui doit exécuter le script "commande par commande".
Pour sortir d'un script, on peut utiliser "return" si on est au premier niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce qui fonctionne partout :
if the logChoosen is false then error number -128
Patrick -- Patrick Stadelmann
In article <1hdtz2z.j53n7r17oaj4eN%laurent.pertois@alussinan.org>,
laurent.pertois@alussinan.org (Laurent Pertois) wrote:
Ah ben, je viens de tester, il quitte bien le script mais il continue
sur ce qu'il y a en-dessous :-/
Ah oui, je n'avais pas fais gaffe, c'est un piège classique !
Par contre, au début du script j'ai d'autres conditions comme celle-ci
qui fonctionnent très bien.
Non... En fait, avec "display dialog" si l'on choisit "annuler" le
script quitte automatiquement avec une erreur "user canceled". Tes
"quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit"
au début du script. En fait, le "quit" est bien envoyé mais il ne sera
traité qu'après l'exécution du script (sauf si tu es dans Script Editor
qui lui doit exécuter le script "commande par commande".
Pour sortir d'un script, on peut utiliser "return" si on est au premier
niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce
qui fonctionne partout :
if the logChoosen is false then error number -128
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1hdtz2z.j53n7r17oaj4eN%, (Laurent Pertois) wrote:
Ah ben, je viens de tester, il quitte bien le script mais il continue sur ce qu'il y a en-dessous :-/
Ah oui, je n'avais pas fais gaffe, c'est un piège classique !
Par contre, au début du script j'ai d'autres conditions comme celle-ci qui fonctionnent très bien.
Non... En fait, avec "display dialog" si l'on choisit "annuler" le script quitte automatiquement avec une erreur "user canceled". Tes "quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit" au début du script. En fait, le "quit" est bien envoyé mais il ne sera traité qu'après l'exécution du script (sauf si tu es dans Script Editor qui lui doit exécuter le script "commande par commande".
Pour sortir d'un script, on peut utiliser "return" si on est au premier niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce qui fonctionne partout :
if the logChoosen is false then error number -128
Patrick -- Patrick Stadelmann
laurent.pertois
Patrick Stadelmann wrote:
Non... En fait, avec "display dialog" si l'on choisit "annuler" le script quitte automatiquement avec une erreur "user canceled". Tes "quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit" au début du script. En fait, le "quit" est bien envoyé mais il ne sera traité qu'après l'exécution du script (sauf si tu es dans Script Editor qui lui doit exécuter le script "commande par commande".
Ah okok, je comprends mieux, j'en ai profité pour enlever les lignes inutiles, effectivement le cancel suffit.
Pour sortir d'un script, on peut utiliser "return" si on est au premier niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce qui fonctionne partout :
if the logChoosen is false then error number -128
Merci beaucoup, une fois de plus.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
Non... En fait, avec "display dialog" si l'on choisit "annuler" le
script quitte automatiquement avec une erreur "user canceled". Tes
"quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit"
au début du script. En fait, le "quit" est bien envoyé mais il ne sera
traité qu'après l'exécution du script (sauf si tu es dans Script Editor
qui lui doit exécuter le script "commande par commande".
Ah okok, je comprends mieux, j'en ai profité pour enlever les lignes
inutiles, effectivement le cancel suffit.
Pour sortir d'un script, on peut utiliser "return" si on est au premier
niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce
qui fonctionne partout :
if the logChoosen is false then error number -128
Merci beaucoup, une fois de plus.
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Non... En fait, avec "display dialog" si l'on choisit "annuler" le script quitte automatiquement avec une erreur "user canceled". Tes "quit" sont donc tous ignorés. Tu peux le vérifier en mettant un "quit" au début du script. En fait, le "quit" est bien envoyé mais il ne sera traité qu'après l'exécution du script (sauf si tu es dans Script Editor qui lui doit exécuter le script "commande par commande".
Ah okok, je comprends mieux, j'en ai profité pour enlever les lignes inutiles, effectivement le cancel suffit.
Pour sortir d'un script, on peut utiliser "return" si on est au premier niveau (i.e. pas dans une sous-routine) ou générer un "user canceled" ce qui fonctionne partout :
if the logChoosen is false then error number -128
Merci beaucoup, une fois de plus.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.