IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[MacOS] Déterminer le répertoire de l'exécutable


Sujet :

Lazarus Pascal

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 098
    Points : 1 061
    Points
    1 061
    Par défaut [MacOS] Déterminer le répertoire de l'exécutable
    Bonjour à toutes et à tous,

    Si on utilise l'instruction IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))); sous Windows et Linux on obtient tout le chemin qui est avant le nom de l'exécutable.

    Sous MacOS, le chemin comprends la partie /Contents/MacOS/ qui suit le nom de l'exécutable.

    C'est à dire que lorsque l'on va créer des répertoires à l'aide de l'instruction mkDir(MonRep);, le répertoire va se trouver dans le conteneur /Contents/MacOS/ et non pas dans le répertoire où se trouve l'exécutable.

    Existe-t-il une instruction permettant d'avoir le nom du répertoire contenant l'exécutable et non celui suivi de /Contents/MacOS/ ou bien faut-il traficoter cela avec des instructions de coupures de texte ?

    Cordialement.

    Pierre.

  2. #2
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 876
    Points : 1 254
    Points
    1 254
    Par défaut
    As-tu compris qu’un exécutable sous MacOS est en réalité une arborescence zippé ?

    De ce fait, pour extraire le dossier contenant ton exécutable, tu dois remonter (de mémoire) de 3 niveaux, le chemin renvoyer par ParamStr(0)…

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 098
    Points : 1 061
    Points
    1 061
    Par défaut
    Citation Envoyé par der§en Voir le message
    As-tu compris qu’un exécutable sous MacOS est en réalité une arborescence zippé ?…
    Je l'ai plutôt découvert.

    Citation Envoyé par der§en Voir le message
    ... De ce fait, pour extraire le dossier contenant ton exécutable, tu dois remonter (de mémoire) de 3 niveaux, le chemin renvoyer par ParamStr(0)…
    Il faut remonter de deux niveaux :
    J'y suis arrivé par le code suivant, mais que je trouve être du bricolage. Enfin, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Pgm:= Application.ExeName;
      DirEXE:= IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));
    {$IFDEF DARWIN}
      Delete(DirEXE, Pos(ExtractFileName(Pgm), Pgm), 255);
    {$ENDIF}
    Cordialement.

    Pierre.

  4. #4
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 876
    Points : 1 254
    Points
    1 254
    Par défaut
    Sous Delphi et Firemonkey, je détermine le dossier de l’app comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyAppFolder := ExtractFileDir(ExtractFileDir(ExtractFileDir(ParamStr(0))));

  5. #5
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 098
    Points : 1 061
    Points
    1 061
    Par défaut
    Citation Envoyé par der§en Voir le message
    Sous Delphi et Firemonkey, je détermine le dossier de l’app comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyAppFolder := ExtractFileDir(ExtractFileDir(ExtractFileDir(ParamStr(0))));
    Dans ma VM MacOS, je suis obligé d'utiliser quatre fois "ExtractFileDir" pour y arriver !!!

    Pour l'instant, je garde ma solution.

    Cordialement.

    Pierre.

Discussions similaires

  1. Trace Excution requetes forms 6i
    Par kiwi13 dans le forum Forms
    Réponses: 2
    Dernier message: 02/07/2005, 12h43
  2. Thème de MacOs sur Windows XP
    Par Faith's Fall dans le forum Windows XP
    Réponses: 7
    Dernier message: 27/06/2005, 21h18
  3. Portabilité Delphi sur MacOS X ?
    Par chadkops dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2005, 12h39
  4. redimentiondes composant a l'excution
    Par edam dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/10/2004, 16h13
  5. creation d'un excutable
    Par k_boy dans le forum Flash
    Réponses: 2
    Dernier message: 07/07/2003, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo