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

 Delphi Discussion :

comment enregistrer un memo1 dans un fichier ini svp


Sujet :

Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut comment enregistrer un memo1 dans un fichier ini svp
    Bonjours dans mon programme j'ai plusieurs édit et quelque mémo
    je cherche a enregistrer toute c'est information dans un fichier ini pour pouvoir les lires plus tard lorsque que je cliquerais sur longlet ouvrir .
    j'ai bien réussi a enregistrer et a lire mes édit dans un fichier ini mais lorsque il me lit le memo1 il ne me lit que la 1er ligne alors que lorsque je l'ai enregistrer il y avez plusieurs lignes

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if savedialog1.Execute then
    savedialog1.Execute;
    nomprogramme:=savedialog1.FileName;
    FichierIni:=TIniFile.create(nomprogramme); 
    FichierIni.WriteString('Test','Texte1',Edit17.Text); 
    FichierIni.WriteString('Test','Texte2',Edit18.Text); 
    FichierIni.WriteString('Test','Texte14',memo1.Text);
    FichierIni.Free; 
    end;
    j'ai regarder sur le forum et je block
    merci de vos réponce

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut;

    le mémo peut-être vu comme une liste donc tu peux l'exploiter en le parcourant de la première à la dernière ligne. pour cela tu dois travailler avec la propriété Items qui te permet d'avoir n'importe qu'elle ligne et la propriété count qui te renseigne sur le nombre de lignes.

  3. #3
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonjour,

    Bonjours dans mon programme j'ai plusieurs édit et quelque mémo
    je cherche a enregistrer toute c'est information dans un fichier ini pour pouvoir les lires plus tard
    • Attention, un frichier INI n'est pas fait pour stocker du texte !!! Il est limité en Ko.


    @+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    voici la balise merci encore
    pour indentation je cherche
    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
    Bonjours dans mon programme j'ai plusieurs édit et quelque mémo
    je cherche a enregistrer toute c'est information dans un fichier ini pour pouvoir les lires plus tard lorsque que je cliquerais sur longlet ouvrir .
    j'ai bien réussi a enregistrer et a lire mes édit dans un fichier ini mais lorsque il me lit le memo1 il ne me lit que la 1er ligne alors que lorsque je l'ai enregistrer il y avez plusieurs lignes
     
    voici mon code
    if savedialog1.Execute then
    savedialog1.Execute;
    nomprogramme:=savedialog1.FileName;
    FichierIni:=TIniFile.create(nomprogramme);
    FichierIni.WriteString('Test','Texte1',Edit17.Text);
    FichierIni.WriteString('Test','Texte2',Edit18.Text);
    FichierIni.WriteString('Test','Texte14',memo1.Text);
    FichierIni.Free;
    end;
     
    j'ai regarder sur le forum et je block
    merci de vos réponce

  5. #5
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bon ben y a de la bonne volonté au moins

    L'indentation c'est un peu comme une sorte de ponctuation ; c'est fait pour séparer des groupes divers...

    Bref en gros, l'indentation se base sur deux espaces (Gilbert, je t'adore, mais stp, ne regarde pas )

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure toto;
    begin
      if riri > toto then
      begin
        loulou := toto + "4"
      else
      begin
        loulou := '0';
      end;
      GetEnd;
    end;
    Vois-tu le principe ?

    Car une fois que tu vas entrer dans des procédures et fonctions assez importantes, hé bien si ton indentation est fantaisiste ; tu auras des problèmes, de par exemple retrouver le couple begin/end de tel ou tel bloc imbriqué, etc.

    Aller, à ton tour de nous montrer cette fois, que tu as correctement indenté ton code

    Sans oublier de le placer sous balises code
    (Mais seulement le code sous balises code)

    @+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut ok j'assay
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if  savedialog1.Execute  then
        savedialog1.Execute 
        nomprogramme := savedialog1.FileName ;
    begin 
        FichierIni := TIniFile.create (nomprogramme) ;
        FichierIni.WriteString('Test ',' Texte1' , Edit17.Text);
        FichierIni.WriteString('Test ',' Texte2' , Edit18.Text);
        FichierIni.WriteString('Test ',' Texte14' , memo1.Text);
        FichierIni.Free;
    end;
    voila c'est tous ce que j'ai pu arriver a faire a moins que mon programme sois mal creer au départ
    Mais j'essay d'apprendre
    Mais pour le memo1 pourquoi lorsque je le lit il me met que la premier ligne du memo1 ?

  7. #7
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Bonjour

    Je ne comprends pas le début du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if  savedialog1.Execute  then
        savedialog1.Execute
    Pourquoi rappeler une 2° fois la boite de dialogue si le 1° appel a été validé par le bouton OK?

    Ensuite ce code tel que présenté ne doit pas passer à la compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if  savedialog1.Execute  then
        savedialog1.Execute 
        nomprogramme := savedialog1.FileName ;
    Mais personnellement ce n'est pas un fichier INI que je choisirais pour sauvegarder le contenu des Edits et Memos, mais plutôt un fichier Texte.

    A voir la méthode du mémo SaveToFile qui permet d'enregistrer son contenu dans un fichier texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1.Lines.SaveToFile(Filename);
    Cela peut également être une solution.

    @+ Claudius

  8. #8
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut


    Hé oui, Claude vient de confirmer que le fichier INI n'est pas fait pour stocker du texte.

    Pour compléter le message de Cl@udius, dans l'autre sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo.Lines.LoadFromFile('fichier.txt');
    moldock, bon début pour ton indentation, mais si tu me relis = DEUX espaces et pas plus

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut ok ca marche, mais j'aimerais sauvegarder aussi mes edit dans le meme fichier ?
    Citation Envoyé par Droïde Système7 Voir le message


    Hé oui, Claude vient de confirmer que le fichier INI n'est pas fait pour stocker du texte.

    Pour compléter le message de Cl@udius, dans l'autre sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo.Lines.LoadFromFile('fichier.txt');
    moldock, bon début pour ton indentation, mais si tu me relis = DEUX espaces et pas plus
    Merci a tous ca marche pour sauvegarder le memo1 mais ce qui m'interresse ausssi c'est de sauvegarder tous mes édit dans le méme fichier
    si quelqu'un a une idée je l'en remercie d'avance

  10. #10
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Regarde ce principe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.btnWriteClick(Sender: TObject);
    var
      F: TextFile;
    begin
      AssignFile(F, 'C:\Test\Data.txt');
      Rewrite(F);
      WriteLn(F, Edit1.Text);
      WriteLn(F, Edit2.Text);
      CloseFile(F);
    end;

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut Je vien d'essayer
    Citation Envoyé par Droïde Système7 Voir le message
    Regarde ce principe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.btnWriteClick(Sender: TObject);
    var
      F: TextFile;
    begin
      AssignFile(F, 'C:\Test\Data.txt');
      Rewrite(F);
      WriteLn(F, Edit1.Text);
      WriteLn(F, Edit2.Text);
      CloseFile(F);
    end;
    d'accord je vien d'essayer et pour mon fichier de destination je rentre
    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
    procedure TForm1.Sauver1Click(Sender: TObject);
    var
     F:Textfile;
    begin
    If savedialog1.execute then memo2.lines.savetofile(savedialog1.filename);
     assignfile(f, savedialog1.filename);
     rewrite(f);
     writeln(f, memo2.text);
     writeln(f, edit17.text);
     writeln(f, edit18.text);
     writeln(f, edit19.text);
     writeln(f, edit20.text);
     writeln(f, edit21.text);
     writeln(f, edit22.text);
     closefile(f);
    end;
    et il me sauve mon mémo et mes édit dans memo2
    Maintenant quant j'essaye de le lire il ne me rentre pas les edit a leur place respective mais le code et interessant

  12. #12
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    moldock,
    je vais te donner une piste si tu veux quand même enregistrer ton memo dans un fichier INI et que ton memo n'est pas trop volumineux.
    Comme un memo n'est en faite qu'une suite de ligne,
    1° tu peux recuperer déjà le nombre de ligne
    2° tu enregistre dans ton INI cette nombre
    3° tu prcours les lignes et les enregistrer une à une.
    Ainsi ton fichier INI sera par exemple comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [EDIT]
    Edit1=Blablabla
    Edit2=Blablabla encore
    ...
    Editn=blablabla ....
    [MEMO]
    Count=4
    Line1=Ligne 1 du memo
    Line2=Ligne 2 du memo
    Line3=Ligne 3 du memo
    Line4=Ligne 4 du memo
    A+

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    Citation Envoyé par Andry Voir le message
    moldock,
    je vais te donner une piste si tu veux quand même enregistrer ton memo dans un fichier INI et que ton memo n'est pas trop volumineux.
    Comme un memo n'est en faite qu'une suite de ligne,
    1° tu peux recuperer déjà le nombre de ligne
    2° tu enregistre dans ton INI cette nombre
    3° tu prcours les lignes et les enregistrer une à une.
    Ainsi ton fichier INI sera par exemple comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [EDIT]
    Edit1=Blablabla
    Edit2=Blablabla encore
    ...
    Editn=blablabla ....
    [MEMO]
    Count=4
    Line1=Ligne 1 du memo
    Line2=Ligne 2 du memo
    Line3=Ligne 3 du memo
    Line4=Ligne 4 du memo
    A+
    merci de votre reponce
    je suis novice a chaque fois que je pense trouver la solution
    de nouveaux defit ce presente.
    Comment peu ton faire pour recuperer le nombre de ligne
    puis enregistrer les ligne du memo pour le formuler en delphi svp
    je block

  14. #14
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Bon, si tu veux.
    Je suppose que tu connais déjà l'écriture/lecture des valeurs dans un fichier INI.
    Un procedure pour ecrire un strings vers un fichier INI.
    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
     
    procedure TfrmTest.StringsToINI(aStrings: TStrings; aINIFile: String);
    var
        i : Integer;
    begin
      With TIniFile.Create(aINIFile) do
      try
        //Ecriture du nombre de ligne.
        WriteInteger('MEMO','Count',aStrings.Count);
        //Parcours des lignes du Strings 
        for i := 0 to aStrings.Count -1 do
        begin
          //Ecriture de chaque ligne dans le fichier Ini.
          WriteString('MEMO',Format('Line%d',[i+1]),aStrings[i]);
        end;
      finally
        Free;
      end;
    end;
    NB, j'ai pris au hazard le nom de section et de la clé.
    A toi maintenant de faire l'inverse et de modifier pour intégrer tous tes insertions dans le fichier INI.

    A+

  15. #15
    Membre Expert
    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
    Par défaut
    comme début, regarde du côté de TStrings.values
    Renvoie la partie valeur d'une chaîne associée à un nom (Name) donné, sur des chaînes au format Name=Value.

    property Values[const Name: string]: string;

    Description

    Quand la liste de chaînes d'un objet TStrings comporte des chaînes de la forme Nom=Valeur, utilisez la propriété Values pour obtenir ou définir la partie Valeur d'une chaîne associée à une partie Nom spécifique. Si la chaîne se trouvant à la position spécifiée n'est pas de la forme Nom=Valeur ou si aucune chaîne n'a l'indice Index, Values renvoie une chaîne vide.

    Remarque*: L'indice Name ne distingue pas les majuscules des minuscules. C'est-à-dire que Values est la partie valeur de la première occurrence de Name ou une chaîne équivalente qui diffère seulement par la casse.

    Le nom identifiant la chaîne est placé à gauche du signe égal (=) et la valeur en cours de l'identificateur se trouve à droite. Il ne doit pas y avoir d'espaces de part et d'autre du signe égal.
    pour sauvegarde, un boucle sur tout les compenent de ta form en les filtrant par leur type de classe (TEDIT,...), en ensuite un TStrings.savetofile;
    la lecture est aussi simple, Tstrings.LoadFromFile(), et dans une boucle sur: -les ligne de TStrings et findcompennet
    -tout les compennet de ta form en testant leur name,
    bah, désoler pour l'explication

  16. #16
    Membre émérite Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Par défaut
    Salut,

    Pourquoi ne pas simplement utiliser un stream?

    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
     
    procedure SauvegarderUnTruc;
    var
      Ini: TIniFile;
      St: TMemoryStream;
    begin
      Ini := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
      St := TMemoryStream.Create;
      try
        MonMemo.Lines.SaveToStream(St);
        St.Position := 0;
        Ini.WriteBinaryStream('UNESECTION', 'UNMEMO', St);
      finally
        Ini.Free;
        St.Free;
      end;
    end;
    et l'opération inverse avec LoadFromStream et ReadBinaryStream...

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut j'essay de compiler mais jobtien un tas d'erreur
    Citation Envoyé par Andry Voir le message
    Bon, si tu veux.
    Je suppose que tu connais déjà l'écriture/lecture des valeurs dans un fichier INI.
    Un procedure pour ecrire un strings vers un fichier INI.
    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
     
    procedure TfrmTest.StringsToINI(aStrings: TStrings; aINIFile: String);
    var
        i : Integer;
    begin
      With TIniFile.Create(aINIFile) do
      try
        //Ecriture du nombre de ligne.
        WriteInteger('MEMO','Count',aStrings.Count);
        //Parcours des lignes du Strings 
        for i := 0 to aStrings.Count -1 do
        begin
          //Ecriture de chaque ligne dans le fichier Ini.
          WriteString('MEMO',Format('Line%d',[i+1]),aStrings[i]);
        end;
      finally
        Free;
      end;
    end;
    NB, j'ai pris au hazard le nom de section et de la clé.
    A toi maintenant de faire l'inverse et de modifier pour intégrer tous tes insertions dans le fichier INI.

    A+

  18. #18
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Écoute Moldock.
    Tout le monde essaie de t'aider mais toi, tu ne fais pas l'effort de nous éclairer. Tu disait que tu as des tas d'erreur, mais tu ne nous dis pas quels sont ces erreurs et sur quelle ligne ?
    Ce code fonctionne correctement chez moi, j'ai juste ajouter INIFiles dans mes uses.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut merci mais j'ai pas reussi
    Citation Envoyé par Andry Voir le message
    Bon, si tu veux.
    Je suppose que tu connais déjà l'écriture/lecture des valeurs dans un fichier INI.
    Un procedure pour ecrire un strings vers un fichier INI.
    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
     
    procedure TfrmTest.StringsToINI(aStrings: TStrings; aINIFile: String);
    var
        i : Integer;
    begin
      With TIniFile.Create(aINIFile) do
      try
        //Ecriture du nombre de ligne.
        WriteInteger('MEMO','Count',aStrings.Count);
        //Parcours des lignes du Strings 
        for i := 0 to aStrings.Count -1 do
        begin
          //Ecriture de chaque ligne dans le fichier Ini.
          WriteString('MEMO',Format('Line%d',[i+1]),aStrings[i]);
        end;
      finally
        Free;
      end;
    end;
    NB, j'ai pris au hazard le nom de section et de la clé.
    A toi maintenant de faire l'inverse et de modifier pour intégrer tous tes insertions dans le fichier INI.

    A+
    pour commencer je comprend pas bien la premiere ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure Tfrmtest.stringtoini(Astrings;Anifile:string);
    j'obtien des message d'erreur sur astrings et a string et si ca marche
    est ce que ca marchera pour enregistrer les edit dans le meme fichier
    ca serai bien de trouver un exemple complet avec 2 edit et un memo1
    je galere depuis hier

  20. #20
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    OK.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TfrmTest.StringsToINI(aStrings: TStrings; aINIFile: String);
    est une methode de ma classe TfrmTest.
    Il prend en paramètre une variable de type TStrings et un autre de type String.(En sachant que les items/lines d'un memo est de type TStrings).
    Mais bon. Tu voulais un exemple concret donc je vais te macher le travail :
    Préalable :
    - On a2 Edits (edVal1 et edVal2) et 1 memo (mmVal3) sur la fiche.
    - On va aussi utiliser un TSaveDialog (dlgSave) pour le nom du fichier
    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
     
    //Enregistrement dans un fichier INI
    Procedure EnregistrerValeursDansINI;
    var
        i : Integer;
    begin
        if dlgSave.Execute then
        begin
            With TIniFile.Create(dlgSave.Filename) do
            try
                //Traitement des 2 Edits edVal1 et edVal2.
                WriteString('EDIT','edVal1',edVal1.Text);
                WriteString('EDIT','edVal2',edVal2.Text);            
                //Traitement des lignes du Memo.
                // 1° Ecriture du nombre de ligne.
                WriteInteger('MEMO','Count',mmVal3.Lines.Count);
                // 2° Parcours des lignes du Memo mmVal3
                for i := 0 to mmVal3.Lines.Count -1 do
                begin
                    // 3° Ecriture de chaque ligne du Memo.
                    WriteString('MEMO',Format('Line%d',[i+1]),mmVal3.Lines[i]);
                end;
            finally
                Free;
            end;
        end;
    end;
    Je pense que c'est assez clair maintenant.

    Courage.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comment enregistrer les resultats dans un fichier
    Par cmoi_doudi dans le forum JBuilder
    Réponses: 2
    Dernier message: 23/05/2008, 03h55
  2. Réponses: 6
    Dernier message: 05/02/2008, 23h52
  3. Comment écrire une section dans un fichier ini?
    Par Jayceblaster dans le forum Delphi
    Réponses: 5
    Dernier message: 26/06/2006, 15h08
  4. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 15h52

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