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

Langage Delphi Discussion :

Comment afficher le contenu d'un fichier ini dans un mémo?


Sujet :

Langage Delphi

  1. #1
    Membre habitué Avatar de Jayceblaster
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 420
    Points : 174
    Points
    174
    Par défaut Comment afficher le contenu d'un fichier ini dans un mémo?
    Bonjour

    Je suis dans un projet VCL et je souhaite afficher le contenu d'un fichier ini dans un memo. J'ai trouver un code dans la faq mais il ne marche pas.
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Var FileIni  : TIniFile;
        Compteur : Integer;
        Section  : TStringList;
     
    begin
     try
      FileIni:=TIniFile.Create('C:\Temp\Test.ini'); // Ouvre ou crée le fichier
      Section:=TStringList.Create;
     
      FileIni.ReadSections(Section);
     
      For Compteur:=0 to Section.Count-1 do
       begin
           // Lecture des valeurs de la section Section[Compteur]
          Memo1.Lines.Add(#13#10+'['+Section[Compteur]+']');
          FileIni.ReadSectionValues(Section[Compteur],Memo1.Lines);
       end;
     
     finally
      Valeur.Free;
      Section.Free;
      FileIni.Free ;
     end ;
    end;
    si le fichier ini est comme ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      [livre1]
       Titre = Titre1
       Auteur = Auteur1
       Edition = Edition1
      [livre2]
       Titre = Titre2
       Auteur = Auteur2
       Edition = Edition2
    Voici ce que j'obtiens dans le memo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       Titre = Titre2
       Auteur = Auteur2
       Edition = Edition2
    Qu'est ce qui va pas dans ce code?
    Heureux est l'étudiant qui, comme la rivière, arrive à suivre son cours sans sortir de son lit........

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    pourqoi pas faire simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memo1.lines.loadfromfile
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Normal que tu es que la derniere liste de valeur car

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     FileIni.ReadSectionValues(Section[Compteur],Memo1.Lines);
    écrase ce que tu as dans Memo1.Lines a chaque fois que tu l'appelles.

    le mieux serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Var FileIni  : TIniFile;
        Compteur,j : Integer;
        Section,ItemSection  : TStringList;
     
    begin
     try
      FileIni:=TIniFile.Create('C:\Temp\Test.ini'); // Ouvre ou crée le fichier
      Section:=TStringList.Create;
      ItemSection  := TStringList.Create;
     
      FileIni.ReadSections(Section);
     
      For Compteur:=0 to Section.Count-1 do
       begin
           // Lecture des valeurs de la section Section[Compteur]
          Memo1.Lines.Add(#13#10+'['+Section[Compteur]+']');
          FileIni.ReadSectionValues(Section[Compteur],ItemSection);
          For j := 0 to ItemSection.Count -1 do
             Memo1.lines.Add(ItemSection.Strings[i]);
       end;
     
     finally
      Valeur.Free;
      Section.Free;
      FileIni.Free ;
      ItemSection.Free;
     end ;
    end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    DMO
    DMO est déconnecté
    Membre averti
    Avatar de DMO
    Profil pro
    Inscrit en
    Février 2004
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 290
    Points : 343
    Points
    343
    Par défaut
    Citation Envoyé par edam
    pourqoi pas faire simple
    +1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1.Lines.LoadFromFile('C:\Temp\Test.ini');
    ??
    « La simplicité est la sophistication suprême » (Léonard de Vinci)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    est il possible de lire les commentaires (; toto) et l'afficher dans le memo

    Merci

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Déterrer sur un sujet de 2006 (vieux de 8 ans) cela ne se fait pas !

    J'ignore si il y a des API pour les commentaires mais utilise ReadLn et charge le fichier manuellement sans passer par le TIniFile
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour Reuqnas,

    avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1.Lines.LoadFromFile('C:\Temp\Test.ini');
    tu lis et affiches tout le fichier et donc aussi les commentaires précédés d'un ;

    A+

    Charly

  8. #8
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Voila moi je fais comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Var
      FIni: TiniFile;
    begin
      Memo1.Clear;
      FIni := TiniFile.Create(EditNomFichierIni.text);
      FIni.ReadSectionValues(EditSection.text, Memo1.lines);
    end;

Discussions similaires

  1. [Ember js - Handlebars] Comment afficher le contenu d'un fichier compilé
    Par Francky44003 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/08/2014, 12h54
  2. Comment afficher le contenu d'un fichier JSON dans un formulaire HTML
    Par attiegoua1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/07/2012, 18h17
  3. Comment afficher le contenu d'un fichier ASCII?
    Par forumcpp_nono dans le forum C++
    Réponses: 6
    Dernier message: 18/05/2009, 14h40
  4. Comment afficher le contenu d'un fichier txt
    Par usto2005 dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 22/05/2008, 18h45
  5. Afficher le contenu d'un fichier xls dans un DBgrid
    Par bianconeri dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/09/2004, 16h35

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