Bonsoir,
Tout d'abord tu fais une erreur de type : en effet, la variable Choix n'est pas une string, mais une liste à l'issue de l'instruction "choose from list".
Cela d'ailleurs pourrait très bien être un choix multiple de l'utilisateur (avec le paramètre "multiple selection allowed").
Donc il faudrait récupérer la string sous la forme : Set MyFile to item 1 of Choix
Le second problème est que la valeur que tu indiques "Anna.mp4" peut être une string, mais pas forcément un fichier.
Ton affectation dans le dossier Database_Video pourrait être correcte en recréant le chemin complet.
Enfin, il faudrait demander à QuickTime, non pas d'ouvrir une string, mais un fichier.
Rassure toi, les erreurs de type (string, alias, ...) sont très courantes en Applescript.
Ceci est du au fait que le compilateur est trop gentil ! Quand il n'y a pas de doute, il accepte des erreurs de typage et il les corrige en interne sans te le dire. Tu crois donc que ton code est OK (et il tourne) mais il comporte une ou plusieurs ambiguïtés.
Des languages plus structurants, qui rendent les déclarations de type obligatoires sont , en ce sens, plus clairs (rigides parfois à l'extrême, certes, mais clairs et sans ambiguïtés).
Voici donc un script qui fonctionne :
set Database_Video to (path to desktop folder) as string
1 2 3 4 5 6 7 8 9 10
|
set Liste_Video to {"Fichier 1", "Fichier 2", "Fichier 3", "Anna.mp4", "Fichier 4"}
set Choix to choose from list Liste_Video with prompt "Choose a video"
if (result = "false") then
return
else
set myFIle to Database_Video & (item 1 of Choix)
tell application "QuickTime Player" to open file myFIle
end if |
Cordialement
PS : désolé, mais je ne sais pourquoi mais une balise code s'obstine à venir s'insérer (ce site a parfois des bugs !). Il faut bien sûr mettre les 2 morceaux de codes ensemble !
Partager