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 :

Problème d'affichage de textfile


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Problème d'affichage de textfile
    Bonjour

    J'ai un fichier texte avec des adresses.
    Dans mon application, j'ai un bouton pour afficher mon fichier dans un tmemo, pas de problème.
    J'ai une commande pour ajouter une adresse en fin de fichier, pas de problème, si j'ouvre le ficher avec notepad, le fichier contient bien l'adresse supplémentaire.
    Mais si je reviens à mon appli, lorsque je veut réafficher mon fichier, s'est l'ancien fichier qui s'affiche.
    Par contre si je ferme mon application, et la relance, le nouveau fichier s'affiche.

    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
    procedure TForm1.Button1Click(Sender: TObject);
    var
      fic: textfile;
      ligne: string;
    begin
      memo1.Clear;
      AssignFile(fic, 'adresses.txt');
      reset(fic);
      while not EOF(fic) do
      begin
        readln(fic, ligne);
        memo1.Append(ligne);
      end;
      CloseFile(fic);
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
      fic: textfile;
        newAdresse:string;
    begin
                InputQuery('Nouvelle adresse: ' ,
            '', newadresse);
              AssignFile(fic, 'adresses.txt');
            append(fic);
            WriteLn(fic,newadresse);
            closefile(fic);
     
    end;


    Je ne comprend pas pourquoi.

  2. #2
    Rédacteur/Modérateur

    Bonjour !

    Moi non plus je ne comprends pas pourquoi. Pourriez-vous fournir le code entier du projet ?

    Autrement, pour lire le fichier et l'afficher, vous pourriez utiliser la méthode LoadFromFile.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
      Memo1.Lines.LoadFromFile('adresses.txt');

  3. #3
    Membre du Club
    j'ai installer lazarus 2.0.10 il y a quelques jours et commencé ce projet.
    j'ai ouvert mon projet avec la version précédente 2.0.8, et la pas de problème...
    Bizard

  4. #4
    Expert éminent sénior
    Bonjour,

    Citation Envoyé par Roland Chastain Voir le message
    Pourriez-vous fournir le code entier du projet ?
    Il n'y en a pas besoin : il suffit de créer un fichier vide adresses.txt (que j'ai mis dans le dossier de l'appli) avant le 1er lancement puis d'utiliser d'abord Button2 suivi par Button1 et ça fonctionne sans problème sous Linux avec mon vieux Laz 1.4.

    Donc le titre de la discussion est erroné, on dirait qu'il s'agirait plutôt d'une régression de la 2.0.10 (et ça ne me donne pas envie d'envisager de migrer).


    Citation Envoyé par sematimo Voir le message
    j'ai installé lazarus 2.0.10 il y a quelques jours et commencé ce projet.
    j'ai ouvert mon projet avec la version précédente 2.0.8 et là, pas de problème...
    Ou alors il y a un mic-mac avec 2.0.8/2.0.10, mais comme on ne sait pas si les deux installs sont sur la même machine ou pas, avec le même user ou pas, bref, difficile à cerner en l'état de nos connaissances…
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Membre averti
    [MODE APPARTÉ ON]
    Jipété, tu nous as dit que tu migrais vers 2.0.10, nous aurais-tu mentis ?
    [MODE APPARTÉ OFF]
    ----------------------------------------
    Site perso Dergen.fr
    Cartographe officiel du JDR Polaris

  6. #6
    Expert éminent sénior
    Yep !

    [MODE APPARTÉ ON]
    Citation Envoyé par der§en Voir le message
    [MODE APPARTÉ ON]
    Jipété, tu nous as dit que tu migrais vers 2.0.10, nous aurais-tu mentis ?
    [MODE APPARTÉ OFF]
    J'avais dit que j'envisageais de migrer, nuance, grosse nuance !
    Ça fait plus d'un mois que j'ai la nouvelle machine à côté de moi, mais ma priorité est de faire fonctionner ma vieille imprimante laser (qui est une WinPrinter, donc pilote Windows obligé -- mais quelqu'un a fait du rétro-engineering sur un modèle similaire il y a 10 ans environ, et ça a permis la sortie d'un micro-pilote qui a bien fonctionné depuis 2013 [vieux kernel par rapport à maintenant, 32 bits] et qui ne fonctionne pas [ou très mal] sur un kernel très récent en 64 bits). Va falloir que j'adapte.
    Mais comme je n'ai pas que ça à faire, tout se retarde par derrière.
    [MODE APPARTÉ OFF]

    D'un autre côté, comme tout sert à tout dans la vie, voilà t'y pas qu'on risque de découvrir une régression !? J'ai bien fait de ne pas migrer, didou dis donc !

    Bon, un truc cool serait que plein de gens fassent un copier/coller du code suspect, pour voir ce que ça donne dans d'autres environnements.
    Ça ne casse rien, alors allez-y !
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  7. #7
    Membre averti
    Héhéhé

    je vais tester sur ma config, le bout de code et voir s’il y a régression.
    ----------------------------------------
    Site perso Dergen.fr
    Cartographe officiel du JDR Polaris

  8. #8
    Membre du Club
    pas de souci
    Bonsoir,

    Le code est fonctionnel et sans erreur chez moi, environnement x86-64 Debian 10 à jour, Lazarus 2.0.10.r63526

    Je rejoins le conseil précédent, il est plus simple d'utiliser les routines du TMemo...

  9. #9
    Membre du Club
    Bonjour

    Étant donné que ça marchais chez ceux qui ont essayé, je me suis dis qu'il y avait peut-être eu un problème lors du passage de la version 2.0.8 à 2.0.10.
    J'ai tout désinstallé, version 2.0.10 et lazarus.old.exe.
    Réinstallé la version 2.0.10 et là pas de problème.
    Je ne sais pas si le problème venait vraiment de là, en effet, en même temps que je passais à la version 2.0.10, je suis passé de la version 1903 à la version 2004 (20H1) de windows.
    Mais bon, pour le moment ça fonctionne.

###raw>template_hook.ano_emploi###