Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.mac.programmation > #2030 > unrolled thread

Afficher le fichier sous Finder en Apple Script ?

Started bySouris 8-) <souris@meta-science.fr>
First post2021-09-03 11:19 +0000
Last post2021-09-04 20:48 +0200
Articles 19 — 4 participants

Back to article view | Back to fr.comp.sys.mac.programmation


Contents

  Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-03 11:19 +0000
    Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-04 16:16 +0200
      Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-04 14:38 +0000
      Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-04 15:08 +0000
        Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-04 15:39 +0000
      Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-04 17:13 +0000
        Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-04 20:31 +0200
          Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-04 19:15 +0000
            Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-05 01:48 +0200
              Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-05 09:28 +0000
                Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-05 14:29 +0200
                  Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-05 12:39 +0000
                    Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-05 12:42 +0000
                    Re: Afficher le fichier sous Finder en Apple Script ? kurtz le pirate <kurtzlepirate@free.fr> - 2021-09-05 18:30 +0200
                      Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-05 16:42 +0000
                    Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-05 20:57 +0200
                      Re: Afficher le fichier sous Finder en Apple Script ? Souris 8-) <souris@meta-science.fr> - 2021-09-05 20:11 +0000
      Re: Afficher le fichier sous Finder en Apple Script ? "M.V." <mv@gmail.com.invalid> - 2021-09-04 18:24 +0000
        Re: Afficher le fichier sous Finder en Apple Script ? josephb@nowhere.invalid (Joseph-B) - 2021-09-04 20:48 +0200

#2030 — Afficher le fichier sous Finder en Apple Script ?

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-03 11:19 +0000
SubjectAfficher le fichier sous Finder en Apple Script ?
Message-ID<sgt0cd$jtn$1@dont-email.me>
Afficher le fichier sous Finder en Apple Script ?

Bonjour,

quelqu'un sait comment faire avec un chemin :

"Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?

ou avec des "/"

Merci d'avance ;-)

suivi programmation

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [next] | [standalone]


#2031

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-04 16:16 +0200
Message-ID<1pezm7l.3c2nkf1g84f3yN%josephb@nowhere.invalid>
In reply to#2030
Bonjour,
<Souris> wrote:

> Afficher le fichier sous Finder en Apple Script ?
> "Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?
> 
> ou avec des "/"

la commande applescript du Finder à utiliser pour afficher et
sélectionner un document est [reveal] et fonctionne uniquement avec une
définition HFS (les deux points) du chemin du fichier, 

tell application "Finder" 
reveal "Disque Dur:Bureau:Dossier Truc:Fichier.txt"
activate
end tell

si l'on a une définition posix du chemin (avec les slash) il faut
revenir à un chemin HFS par Applescript lui-même * avant *  d'appeler le
Finder (qui ne sait pas faire la transformation)

Par exemple
set cheminPosix to "/Disque Dur/Bureau/Dossier Truc/Fichier.txt"
set filePath to posix file (cheminPosix) -- transformation posix--> HFS
tell application "Finder"
activate 
reveal filePath
end tell


Aller voir dans la doc d'Applescript les subtilités assez piégeuses
autour de ces définitions de chemin HFS ou Posix, et comment passer de
l'une à l'autre.

la commande *activate* pour le Finder est nécessaire pour être sûr que
la fenêtre du dossier contenant le fichier sera bien au premier plan à
l'issue de l'exécution de la commande [reveal].

-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2032

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-04 14:38 +0000
Message-ID<sh00cl$6p3$1@dont-email.me>
In reply to#2031
Le 4 septembre 2021 à 16:16, Joseph-B a écrit :


> Bonjour,
> <Souris> wrote:
>
>> Afficher le fichier sous Finder en Apple Script ?
>> "Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?
>> 
>> ou avec des "/"
>
> la commande applescript du Finder à utiliser pour afficher et
> sélectionner un document est [reveal] et fonctionne uniquement avec une
> définition HFS (les deux points) du chemin du fichier, 
>
> tell application "Finder" 
> reveal "Disque Dur:Bureau:Dossier Truc:Fichier.txt"
> activate
> end tell
>
> si l'on a une définition posix du chemin (avec les slash) il faut
> revenir à un chemin HFS par Applescript lui-même * avant *  d'appeler le
> Finder (qui ne sait pas faire la transformation)
>
> Par exemple
> set cheminPosix to "/Disque Dur/Bureau/Dossier Truc/Fichier.txt"
> set filePath to posix file (cheminPosix) -- transformation posix--> HFS
> tell application "Finder"
> activate 
> reveal filePath
> end tell
>
>
> Aller voir dans la doc d'Applescript les subtilités assez piégeuses
> autour de ces définitions de chemin HFS ou Posix, et comment passer de
> l'une à l'autre.
>
> la commande *activate* pour le Finder est nécessaire pour être sûr que
> la fenêtre du dossier contenant le fichier sera bien au premier plan à
> l'issue de l'exécution de la commande [reveal].
>

Un Grand Merci!

je vais tester...

je fait le test et je te tien au courant ;-)

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2033

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-04 15:08 +0000
Message-ID<sh025h$j1p$1@dont-email.me>
In reply to#2031
Le 4 septembre 2021 à 16:16, Joseph-B a écrit :


> Bonjour,
> <Souris> wrote:
>
>> Afficher le fichier sous Finder en Apple Script ?
>> "Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?
>> 
>> ou avec des "/"
>
> la commande applescript du Finder à utiliser pour afficher et
> sélectionner un document est [reveal] et fonctionne uniquement avec une
> définition HFS (les deux points) du chemin du fichier, 
>
> tell application "Finder" 
> reveal "Disque Dur:Bureau:Dossier Truc:Fichier.txt"
> activate
> end tell
>
> si l'on a une définition posix du chemin (avec les slash) il faut
> revenir à un chemin HFS par Applescript lui-même * avant *  d'appeler le
> Finder (qui ne sait pas faire la transformation)
>
> Par exemple
> set cheminPosix to "/Disque Dur/Bureau/Dossier Truc/Fichier.txt"
> set filePath to posix file (cheminPosix) -- transformation posix--> HFS
> tell application "Finder"
> activate 
> reveal filePath
> end tell
>
>
> Aller voir dans la doc d'Applescript les subtilités assez piégeuses
> autour de ces définitions de chemin HFS ou Posix, et comment passer de
> l'une à l'autre.
>
> la commande *activate* pour le Finder est nécessaire pour être sûr que
> la fenêtre du dossier contenant le fichier sera bien au premier plan à
> l'issue de l'exécution de la commande [reveal].
>

bon je n'arrive pas, voilà le chemin que j'envoi :

<https://prnt.sc/1r7wjlv>

j'ai fait ce applescript :

on run {Chemin}
  tell application "Finder"
    reveal (Chemin)
    activate
  end tell
end run

qui est appelé par Xojo c'est mon environnement de développement et ce de cette
manière :

Dim path As String

if BaseTickets.SelectedRowIndex > -1 then
  If TargetMacOS Then
    path =
StatistiquesTicketsdeCaisse.ListeDesDossiersSource(val(BaseTickets.Cell(BaseTickets.SelectedRowIndex,26)))
+ "/" + BaseTickets.Cell(BaseTickets.SelectedRowIndex,21)
    path = path.ReplaceAll("/", ":")
    'messagebox path
    AfficheFichierDansFinder(path)
  End If
end if

j'utilise de cette façon :   AfficheFichierDansFinder(path)

est ce que c'est le chemin qui n'est pas bon ou la façon de l'avoir développé ?

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2034

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-04 15:39 +0000
Message-ID<sh03vj$a8$1@dont-email.me>
In reply to#2033
Le 4 septembre 2021 à 17:08, Souris 8-) a écrit :


> Le 4 septembre 2021 à 16:16, Joseph-B a écrit :
>
>
>> Bonjour,
>> <Souris> wrote:
>> 
>>> Afficher le fichier sous Finder en Apple Script ?
>>> "Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?
>>> 
>>> ou avec des "/"
>> 
>> la commande applescript du Finder à utiliser pour afficher et
>> sélectionner un document est [reveal] et fonctionne uniquement avec une
>> définition HFS (les deux points) du chemin du fichier, 
>> 
>> tell application "Finder" 
>> reveal "Disque Dur:Bureau:Dossier Truc:Fichier.txt"
>> activate
>> end tell
>> 
>> si l'on a une définition posix du chemin (avec les slash) il faut
>> revenir à un chemin HFS par Applescript lui-même * avant *  d'appeler le
>> Finder (qui ne sait pas faire la transformation)
>> 
>> Par exemple
>> set cheminPosix to "/Disque Dur/Bureau/Dossier Truc/Fichier.txt"
>> set filePath to posix file (cheminPosix) -- transformation posix--> HFS
>> tell application "Finder"
>> activate 
>> reveal filePath
>> end tell
>> 
>> 
>> Aller voir dans la doc d'Applescript les subtilités assez piégeuses
>> autour de ces définitions de chemin HFS ou Posix, et comment passer de
>> l'une à l'autre.
>> 
>> la commande *activate* pour le Finder est nécessaire pour être sûr que
>> la fenêtre du dossier contenant le fichier sera bien au premier plan à
>> l'issue de l'exécution de la commande [reveal].
>> 
>
> bon je n'arrive pas, voilà le chemin que j'envoi :
>
> <https://prnt.sc/1r7wjlv>
>
> j'ai fait ce applescript :
>
> on run {Chemin}
>   tell application "Finder"
>     reveal (Chemin)
>     activate
>   end tell
> end run
>
> qui est appelé par Xojo c'est mon environnement de développement et ce de cette
> manière :
>
> Dim path As String
>
> if BaseTickets.SelectedRowIndex > -1 then
>   If TargetMacOS Then
>     path =
> StatistiquesTicketsdeCaisse.ListeDesDossiersSource(val(BaseTickets.Cell(BaseTickets.SelectedRowIndex,26)))
> + "/" + BaseTickets.Cell(BaseTickets.SelectedRowIndex,21)
>     path = path.ReplaceAll("/", ":")
>     'messagebox path
>     AfficheFichierDansFinder(path)
>   End If
> end if
>
> j'utilise de cette façon :   AfficheFichierDansFinder(path)
>
> est ce que c'est le chemin qui n'est pas bon ou la façon de l'avoir développé ?
>
> -- 


bon j'ai demandé sur le forum de Xojo mon environnement de développement...

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2035

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-04 17:13 +0000
Message-ID<sh09gl$6ki$1@dont-email.me>
In reply to#2031
Le 4 septembre 2021 à 16:16, Joseph-B a écrit :


> Bonjour,
> <Souris> wrote:
>
>> Afficher le fichier sous Finder en Apple Script ?
>> "Disque Dur:Bureau:Dossier Truc:Fichier.txt" ?
>> 
>> ou avec des "/"
>
> la commande applescript du Finder à utiliser pour afficher et
> sélectionner un document est [reveal] et fonctionne uniquement avec une
> définition HFS (les deux points) du chemin du fichier, 
>
> tell application "Finder" 
> reveal "Disque Dur:Bureau:Dossier Truc:Fichier.txt"
> activate
> end tell
>
> si l'on a une définition posix du chemin (avec les slash) il faut
> revenir à un chemin HFS par Applescript lui-même * avant *  d'appeler le
> Finder (qui ne sait pas faire la transformation)
>
> Par exemple
> set cheminPosix to "/Disque Dur/Bureau/Dossier Truc/Fichier.txt"
> set filePath to posix file (cheminPosix) -- transformation posix--> HFS
> tell application "Finder"
> activate 
> reveal filePath
> end tell
>
>
> Aller voir dans la doc d'Applescript les subtilités assez piégeuses
> autour de ces définitions de chemin HFS ou Posix, et comment passer de
> l'une à l'autre.
>
> la commande *activate* pour le Finder est nécessaire pour être sûr que
> la fenêtre du dossier contenant le fichier sera bien au premier plan à
> l'issue de l'exécution de la commande [reveal].
>

c'est bon merci ton code est juste ça fonctionne j'ai du ajouter le nom de mon
disque dur en dur en début chemin, peut être que le Posix le fait de lui même ? je
n'ai pas essayez, si c'est le cas tu veux bien me le dire j'adapterait le code pour
que ce soit plus propre et que ça fonctionne quelque soit le nom du disque dur...

merci ;-)


-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2037

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-04 20:31 +0200
Message-ID<1pezz65.132zusf16yybi8N%josephb@nowhere.invalid>
In reply to#2035
<Souris> wrote:

> ton code est juste ça fonctionne j'ai du ajouter le nom de mon
> disque dur en dur en début chemin, peut être que le Posix le fait
> de lui même ? 

Oui il faut donner le chemin complet du fichier. 
Je suis perplexe pour t'aider davantage parce que je ne comprends pas la liaison que tu fais entre
Applescript et Xojo (issu du RealBasic), donc avec une syntaxe spécifique que je ne connais pas du
tout (même si développé jadis en VisualBasic pour Excel).

Néanmoins et pour rester en ApplsScript, je te conseille d'aller lire cette page de la doc en ligne
<https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-DontLinkElementID_771>
qui te donne les méthodes pour récupérer le chemin jusqu'à un dossier déterminé.

Pour reprendre ton exemple, si tu as décidé que le fichier "Fichier.txt" doit se trouver sur le
Bureau de l'utilisateur de ton application, dont bien sûr tu ne peux pas connaître le nom de son
disque dur, il faut procéder de la façon suivante :
récupérer le chemin vers le Bureau et y concatener le nom du fichier cible

set cheminBureau to (path to desktop) as string
set cheminFichier to cheminBureau & "Fichier.txt"
tell application "Finder"
   activate
   reveal (cheminFichier)
end tell
 
Enfin, je serais bien étonné que Xojo ne donne pas accès nativement dans son code à une méthode
similaire à celle que je décris ci-dessus, sans avoir besoin de passer par Applescript.

Bonne chance pour la suite…

-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2039

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-04 19:15 +0000
Message-ID<sh0gkt$of4$1@dont-email.me>
In reply to#2037
Le 4 septembre 2021 à 20:31, Joseph-B a écrit :


> <Souris> wrote:
>
>> ton code est juste ça fonctionne j'ai du ajouter le nom de mon
>> disque dur en dur en début chemin, peut être que le Posix le fait
>> de lui même ? 
>
> Oui il faut donner le chemin complet du fichier. 
> Je suis perplexe pour t'aider davantage parce que je ne comprends pas la liaison que tu fais entre
> Applescript et Xojo (issu du RealBasic), donc avec une syntaxe spécifique que je ne connais pas du
> tout (même si développé jadis en VisualBasic pour Excel).
>
> Néanmoins et pour rester en ApplsScript, je te conseille d'aller lire cette page de la doc en ligne
> <https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-DontLinkElementID_771>
> qui te donne les méthodes pour récupérer le chemin jusqu'à un dossier déterminé.
>
> Pour reprendre ton exemple, si tu as décidé que le fichier "Fichier.txt" doit se trouver sur le
> Bureau de l'utilisateur de ton application, dont bien sûr tu ne peux pas connaître le nom de son
> disque dur, il faut procéder de la façon suivante :
> récupérer le chemin vers le Bureau et y concatener le nom du fichier cible
>
> set cheminBureau to (path to desktop) as string
> set cheminFichier to cheminBureau & "Fichier.txt"
> tell application "Finder"
>    activate
>    reveal (cheminFichier)
> end tell
>  
> Enfin, je serais bien étonné que Xojo ne donne pas accès nativement dans son code à une méthode
> similaire à celle que je décris ci-dessus, sans avoir besoin de passer par Applescript.
>
> Bonne chance pour la suite…
>

Xojo donne le chemin complet mais pas jusque au disque dur, c'est le seul truc qui
manque, il s'arrête a "/User"

bon comme c'est une application a usage personnel, pour la gestion de mes scanne de
tickets de caisse ce n'est pas trop grave j'ai mis en début de chemin en dur le nom
de mon disque dur...

mais bon j'aime bien faire du code propre, c'est juste un problème de ce genre qui
me ferait chercher plus loins...

merci pour l'encouragement ;-)

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2040

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-05 01:48 +0200
Message-ID<1pf0cp5.1l4vnh89qcnkdN%josephb@nowhere.invalid>
In reply to#2039
<Souris> wrote:

> Xojo donne le chemin complet mais pas jusque au disque dur, c'est le seul truc
> qui manque, il s'arrête a "/User"

C'est /User/ ou /Users/ avec un "s" à la fin que te donne Xojo ?
Si Xojo donne (sous Mac) le chemin sous la forme posix (les "/"), 
/Users/DossierDeDépart/Desktop/leFichier.txt 
alors sache que le premier slash représente le disque dur.

pour t'en convaincre copie et exécute ce petit script et lis les
réponses dans l'éditeur de script :
ILe script va te demander de choisir un fichier (peu importe où et
lequel tu choisiras), effectura les conversions réciproques 
hfs —> posix —> hfs 
en affichant (via les commandes "log") les syntaxes respectives du
chemin absolu du fichier choisi


************
set HFSPathToDesktop to ((choose file) as string)
log HFSPathToDesktop
set posixPathToDesktop to (POSIX path of HFSPathToDesktop)
log posixPathToDesktop
set NewHFSPathToDesktop to POSIX file (posixPathToDesktop)
************

-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2041

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-05 09:28 +0000
Message-ID<sh22jd$d2q$1@dont-email.me>
In reply to#2040
Le 5 septembre 2021 à 01:48, Joseph-B a écrit :


> set HFSPathToDesktop to ((choose file) as string)
> log HFSPathToDesktop
> set posixPathToDesktop to (POSIX path of HFSPathToDesktop)
> log posixPathToDesktop
> set NewHFSPathToDesktop to POSIX file (posixPathToDesktop)

j'ai vraiment des difficulté avec ce langage qu'est Apple Script!

je te pose cette question, devrais-je envoyer au script le chemin avec des "/" et
le convertir dans le script avec posxi pour avoir le nom du disque dur dans le
chemin ?

et si oui quelle ligne de programme dois-je faire pour cette conversion ?

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2042

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-05 14:29 +0200
Message-ID<1pf1d13.195je95dspa6yN%josephb@nowhere.invalid>
In reply to#2041
<Souris> wrote:

> je te pose cette question, devrais-je envoyer au script le chemin avec
> des "/" et le convertir dans le script avec posxi pour avoir le nom du
> disque dur dans le chemin ?

AppleScript est passé à la notation unix (posix) des chemins depuis OS X
et par conséquent je te conseille de l'utiliser de manière générale.
Toutefois, un certain nombre de commandes sont restées "historiquement"
(paresse et négligence bien regrettables pour un domaine considéré comme
anecdotique par Apple) avec la notation hfs des chemins.
Donc c'est quand tu devras manipuler de telles commandes (comme "reveal"
pour le Finder) que tu devras ponctuellement convertir le chemin posix
en chemin hfs.
Oui, ça n'est vraiment pas "user friendly".

Si tu ne fais l'effort de lire et essayer de comprendre cette double
notation des chemins dans Applescript, tu ne t'en sortiras jamais :
<https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/conceptual/ASLR_fundamentals.html#//apple_ref/doc/uid/TP40000983-CH218-SW28>


cela dit, si tu as vraiment besoin de connaître le nom du disque de
démarrage, cette ligne va te le retourner :

tell application "System Events" to get name of startup disk

ou celle-ci :
tell application "Finder" to get name of startup disk

-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2043

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-05 12:39 +0000
Message-ID<sh2dqk$m26$1@dont-email.me>
In reply to#2042
Le 5 septembre 2021 à 14:29, Joseph-B a écrit :


> <Souris> wrote:
>
>> je te pose cette question, devrais-je envoyer au script le chemin avec
>> des "/" et le convertir dans le script avec posxi pour avoir le nom du
>> disque dur dans le chemin ?
>
> AppleScript est passé à la notation unix (posix) des chemins depuis OS X
> et par conséquent je te conseille de l'utiliser de manière générale.
> Toutefois, un certain nombre de commandes sont restées "historiquement"
> (paresse et négligence bien regrettables pour un domaine considéré comme
> anecdotique par Apple) avec la notation hfs des chemins.
> Donc c'est quand tu devras manipuler de telles commandes (comme "reveal"
> pour le Finder) que tu devras ponctuellement convertir le chemin posix
> en chemin hfs.
> Oui, ça n'est vraiment pas "user friendly".
>
> Si tu ne fais l'effort de lire et essayer de comprendre cette double
> notation des chemins dans Applescript, tu ne t'en sortiras jamais :
> <https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/conceptual/ASLR_fundamentals.html#//apple_ref/doc/uid/TP40000983-CH218-SW28>
>
>
> cela dit, si tu as vraiment besoin de connaître le nom du disque de
> démarrage, cette ligne va te le retourner :
>
> tell application "System Events" to get name of startup disk
>
> ou celle-ci :
> tell application "Finder" to get name of startup disk
>

ok merci, mais sur tes exemples je ne vois pas comment est stocké le nom du disque,
je ne vois pas de mise du résultat dans une variable...

j'ai utilisé au long de ma vie différents langages mais Apple Script je ne pige
rien...

j'ai ce script :

on run {Chemin}
  tell application "Finder"
    reveal Chemin
    activate
  end tell
end run

si j'envoi dans le paramètre chemin, un chemin "/user/erich/etc"

que dois-je ajouter à ce script pour que cette variable chemin contienne le nom du
disque de démarrage en début de chaine dans la variable chemin ?

genre :

on run {Chemin}
  tell application "Finder"
    reveal NomDisque + Chemin
    activate
  end tell
end run

mais comment mettre le nom du disque dans cette variable NomDisque ?

je te l'ai dis je suis nul en Apple Script :-D

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2044

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-05 12:42 +0000
Message-ID<sh2dv4$n3o$1@dont-email.me>
In reply to#2043
Le 5 septembre 2021 à 14:39, Souris 8-) a écrit :


> Le 5 septembre 2021 à 14:29, Joseph-B a écrit :
>
>
>> <Souris> wrote:
>> 
>>> je te pose cette question, devrais-je envoyer au script le chemin avec
>>> des "/" et le convertir dans le script avec posxi pour avoir le nom du
>>> disque dur dans le chemin ?
>> 
>> AppleScript est passé à la notation unix (posix) des chemins depuis OS X
>> et par conséquent je te conseille de l'utiliser de manière générale.
>> Toutefois, un certain nombre de commandes sont restées "historiquement"
>> (paresse et négligence bien regrettables pour un domaine considéré comme
>> anecdotique par Apple) avec la notation hfs des chemins.
>> Donc c'est quand tu devras manipuler de telles commandes (comme "reveal"
>> pour le Finder) que tu devras ponctuellement convertir le chemin posix
>> en chemin hfs.
>> Oui, ça n'est vraiment pas "user friendly".
>> 
>> Si tu ne fais l'effort de lire et essayer de comprendre cette double
>> notation des chemins dans Applescript, tu ne t'en sortiras jamais :
>> <https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/conceptual/ASLR_fundamentals.html#//apple_ref/doc/uid/TP40000983-CH218-SW28>
>> 
>> 
>> cela dit, si tu as vraiment besoin de connaître le nom du disque de
>> démarrage, cette ligne va te le retourner :
>> 
>> tell application "System Events" to get name of startup disk
>> 
>> ou celle-ci :
>> tell application "Finder" to get name of startup disk
>> 
>
> ok merci, mais sur tes exemples je ne vois pas comment est stocké le nom du disque,
> je ne vois pas de mise du résultat dans une variable...
>
> j'ai utilisé au long de ma vie différents langages mais Apple Script je ne pige
> rien...
>
> j'ai ce script :
>
> on run {Chemin}
>   tell application "Finder"
>     reveal Chemin
>     activate
>   end tell
> end run
>
> si j'envoi dans le paramètre chemin, un chemin "/user/erich/etc"

correction un chemin : ":user:erich:etc"

>
> que dois-je ajouter à ce script pour que cette variable chemin contienne le nom du
> disque de démarrage en début de chaine dans la variable chemin ?
>
> genre :
>
> on run {Chemin}
>   tell application "Finder"
>     reveal NomDisque + Chemin
>     activate
>   end tell
> end run
>
> mais comment mettre le nom du disque dans cette variable NomDisque ?
>
> je te l'ai dis je suis nul en Apple Script :-D
>
> -- 


-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2045

Fromkurtz le pirate <kurtzlepirate@free.fr>
Date2021-09-05 18:30 +0200
Message-ID<6134f08c$0$3721$426a74cc@news.free.fr>
In reply to#2043
On 05/09/2021 14:39, Souris 8-) wrote:
> mais comment mettre le nom du disque dans cette variable NomDisque ?

Si tu travail dans ton "home directory" tu as une variable système faite 
pour ça : <home folder>

Par exemple :

set applescript_path to path to home folder
set posix_path to POSIX path of applescript_path

display dialog (">> applescript path : " & (applescript_path as text) & 
"/n>> posix path : " & (posix_path as text))


affiche un dialogue avec le chemin du home directory aux deux formats.




-- 
kurtz le pirate
compagnie de la banquise

[toc] | [prev] | [next] | [standalone]


#2046

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-05 16:42 +0000
Message-ID<sh2s1p$pvb$1@dont-email.me>
In reply to#2045
Le 5 septembre 2021 à 18:30, kurtz le pirate a écrit :


> On 05/09/2021 14:39, Souris 8-) wrote:
>> mais comment mettre le nom du disque dans cette variable NomDisque ?
>
> Si tu travail dans ton "home directory" tu as une variable système faite 
> pour ça : <home folder>
>
> Par exemple :
>
> set applescript_path to path to home folder
> set posix_path to POSIX path of applescript_path
>
> display dialog (">> applescript path : " & (applescript_path as text) & 
> "/n>> posix path : " & (posix_path as text))
>
>
> affiche un dialogue avec le chemin du home directory aux deux formats.
>
>
>
>

je commence à comprendre un peu la syntaxe de Apple Script, mais c'est pas très
clair faut que je m'habitue...

cela dis j'ai juste besoin du nom du Disque, le chemin home ne m'intéresse pas ça
fait redondance dans le chemin que j'ai qui commence par ":user:etc"

au lieu de home folder si je veux le nom du disque je fait quoi ?

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2047

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-05 20:57 +0200
Message-ID<1pf1jjc.f7gz6h8zzn7kN%josephb@nowhere.invalid>
In reply to#2043
<Souris> wrote:

> 
> mais comment mettre le nom du disque dans cette variable NomDisque ?

pour attribuer une valeur à une variable il faut utiliser le mot clé
"set"

reprenons l'exemple d'un fichier que tu as sur le bureau et appelé 
"Exemple.txt"
son chemin HFS va être de la forme
NameBootDisk:Users:Home:Desktop:Exemple.txt 
et pour le mettre dans une variable dont le nom serait "PathExemple", la
commande sera

set PathExemple to "NameBootDisk:Users:Home:Desktop:Exemple.txt"

famliarise-toi avec cela en regardant le résultat de la ligne ci-dessous
à exécuter dans l'éditeur de script, qui te demandera de choisir un
fichier. Fais-le sur plusieurs fichiers à divers endroits pour
comprendre le chemin (qui ici sera sous notation HFS)

set PathExemple to (choose file) as text


pour mettre le nom du Disque de démarrage dans la variable [NomDisque]:

tell application "Finder"
 set NomDisque to get name of startup disk
end tell

-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2048

FromSouris 8-) <souris@meta-science.fr>
Date2021-09-05 20:11 +0000
Message-ID<sh389l$nf0$1@dont-email.me>
In reply to#2047
Le 5 septembre 2021 à 20:57, Joseph-B a écrit :


> <Souris> wrote:
>
>> > 
>> mais comment mettre le nom du disque dans cette variable NomDisque ?
>
> pour attribuer une valeur à une variable il faut utiliser le mot clé
> "set"
>
> reprenons l'exemple d'un fichier que tu as sur le bureau et appelé 
> "Exemple.txt"
> son chemin HFS va être de la forme
> NameBootDisk:Users:Home:Desktop:Exemple.txt 
> et pour le mettre dans une variable dont le nom serait "PathExemple", la
> commande sera
>
> set PathExemple to "NameBootDisk:Users:Home:Desktop:Exemple.txt"
>
> famliarise-toi avec cela en regardant le résultat de la ligne ci-dessous
> à exécuter dans l'éditeur de script, qui te demandera de choisir un
> fichier. Fais-le sur plusieurs fichiers à divers endroits pour
> comprendre le chemin (qui ici sera sous notation HFS)
>
> set PathExemple to (choose file) as text
>
>
> pour mettre le nom du Disque de démarrage dans la variable [NomDisque]:
>
> tell application "Finder"
>  set NomDisque to get name of startup disk
> end tell
>

merci beaucoup, je vais garder ce fils sous le coude, il y a de précieuses
informations pour un débutant en Apple Script...

bonne soirée ;-)

-- 
-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout... 

[toc] | [prev] | [next] | [standalone]


#2036

From"M.V." <mv@gmail.com.invalid>
Date2021-09-04 18:24 +0000
Message-ID<sh0dkc$3gn$1@dont-email.me>
In reply to#2031
Le 4 septembre 2021 à 16:16, Joseph-B a tenu les propos suivants :

> la commande *activate* pour le Finder est nécessaire

Pas chez moi (Mojave) et ce qui suit fonctionne comme attendu :
++++++++++
set theFile to "MB Air:Users:admin:Public:Drop Box:adresse concours.rtf"
tell application "Finder"
  reveal file theFile
end tell
++++++++++
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2038

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-09-04 20:48 +0200
Message-ID<1pf011p.1tz885r1cwmi72N%josephb@nowhere.invalid>
In reply to#2036
M.V. <mv@gmail.com.invalid> wrote:

> Pas chez moi (Mojave) et ce qui suit fonctionne comme attendu :

Possible que ça ait été modifié depuis El Cap où je suis toujours.

Chez moi, s'il y a une palanquée de fenêtres de diverses applications
(dont des fenêtres du Finder) en avant plan qui occupent tout l'espace
du moniteur,
la commande

tell application "Finder"
   reveal (cheminFichier)
end tell

ne ramène pas l'application Finder en premier plan et la fenêtre du
dossier parent reste cachée, laissant croire qua le commande a échoué
sans message d'erreur.


-- 
J. B.

[toc] | [prev] | [standalone]


Back to top | Article view | fr.comp.sys.mac.programmation


csiph-web