Equivalent Mac du fichier ini

olivier555olivier555 Membre
20:51 modifié dans API AppKit #1
Bonjour!
Alors, aujourd'hui je vous revient avec une nouvelle super question. Je fais le portage d'une application Windows sur Mac, écrite à  la base en Delphi, et qui utilise un système de fichier ini pour sauvegarder des paramètres et même quelques données autre que de la pure configuration. Sur Delphi ce système est facilité : il y a un type TiniFile avec tout un tas de fonctions. Ma question est la suivante : quel est l'équivalent Mac du fichier ini? J'ai envie de dire que c'est le fameux système de préférences utilisateur, suis-je dans le vrai?
Merci beaucoup!!
Olivier

Réponses

  • olivier555olivier555 Membre
    20:51 modifié #2
    Bon alors rectification, il y a bien un fichier ini pour les paramètres de config de l'appli, et des fichiers .dat pour certaines données. Ca existe sur Mac? (Je ne vous cache pas que je viens du monde Wondows...)
  • CoreCore Membre
    juin 2005 modifié #3
    Les appli placent leur préférences utilisateur dans :

      /Library/Preferences

    Un petit lien qui en parle

    http://www.projectomega.org/article.php?lg=fr&php=oreilly_cocoa11&p=1

    PS :Tu sais si tu viens de Windows, au rythme ou vont les choses ces derniers jour il n'y aura peut être plus beaucoup de différences dans quelques temps  :'(
  • olivier555olivier555 Membre
    20:51 modifié #4
    Yes merci! Tu confirmes ce à  quoi je pensait.
  • AntilogAntilog Membre
    20:51 modifié #5
    dans 1118136759:

    []
    PS :Tu sais si tu viens de Windows, au rythme ou vont les choses ces derniers jour il n'y aura peut être plus beaucoup de différences dans quelques temps  :'(


    Tu viens de Windows, retournes-y et attends-nous, on arrive
    :'( :'( :o
  • olivier555olivier555 Membre
    20:51 modifié #6
    J'ai une autre question. Est-il possible de faire une installation "conditionnelle" du fichier .plist lors de l'installation du logiciel? Je m'explique : j'ai besoin de mettre dans le fichier les paramètres par défaut présent lorsque l'utilisateur installe le soft sur son ordinateur. Ensuite, il peut rajouter des données dans ce fichier. Là , 2 cas : soit il n'y a pas de paramèteres ajoutés par l'utilisateur auquel cas le programme d'installation ecrase le fichier, soit il y a des paramètres utilisateurs auquel cas le programme d'installation rajoute des lignes dans le fichier (parce que bien sûr lorsque l'utilisateur update son soft, il ne faut pas qu'il perde sa config). J'sais pas trop si je suis clair...
    Au pire, on peut faire en sorte que le programme d'installation ajoute des lignes dans le fichier existant et ce dans les cas. Est-ce possible?? Si oui comment?? Merci!!
  • AntilogAntilog Membre
    20:51 modifié #7
    Je ne suis pas sûr de t'avoir bien compris, mais si c'est ce que je pense...

    Les préférences d'OSX sont des dictionnaires, en cas de mise à  jour du logiciel, tu ne recrée pas un nouveau fichier, le programme lit les préférences et ajoute au dictionnaire existant les valeurs par défaut "nouvelles" qui seront mises à  jour sur le disque à  la sortie du programme.

    Donc pour moi, rien de spécifique, ni de compliqué à  faire!  :adios!:
  • 20:51 modifié #8
    Tout est automatique. Contente toi d'utiliser la classe NSUserDefaults comme un simple dictionnaire (enfin, avec les méthodes spécifiques pour les int et ce genre de choses), il crée un fichier si nécessaire, le lit s'il existe déjà , envoie une notification si une préférence change (+ les éventuels bindings si tu joues avec ça). La seule condition est que tu utilises le même identifier pour le bundle quand tu mets à  jour. Si tu veux mettre des préférences par défaut, ça se fait par code (avec -setInitialValues: qui prend un NSDictionary comme argument).
  • olivier555olivier555 Membre
    20:51 modifié #9
    OK! Merci beaucoup tout le monde! Tout est automatique c'est quand même bien foutu Cocoa!
  • olivier555olivier555 Membre
    20:51 modifié #10
    Bon et dernière question et après promis j'arrète de vous souler avec ça!! Comment faire pour coder le fait de mettre à  jour les préférences à  la fermeture du soft? Je veux dire quelle méthode surcharger (genre terminate:) et de quelle classe? Merci!
  • AntilogAntilog Membre
    20:51 modifié #11
    Aucune!

    C'est auto-magique 

    A que c'est trop super, Cocoa  o:)
Connectez-vous ou Inscrivez-vous pour répondre.