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 :

Nombre de lignes pour l'écriture d'un fichier texte


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Nombre de lignes pour l'écriture d'un fichier texte
    Bonjour,

    J'écris un fichier texte avec la fonction WriteLn et curieusement l'écriture ne va pas audela de 27 lignes. Faut-il préalablement dimensionner le nombre de lignes que l'on va écrire ?

    Bonne journée à tous

  2. #2
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 773
    Points
    2 773
    Billets dans le blog
    10
    Par défaut
    A priori non. Voici un exemple :
    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
     
    program ex01;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    var
      f1 : TextFile;
      i1  : integer ;
    begin
      assignFile(f1,'test.txt') ;
      rewrite (f1) ;
      for i1 := 1 to 30 do
         writeln (f1,'test '+inttostr(i1)) ;
      closeFile(f1);
     
    end.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    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 586
    Points : 25 254
    Points
    25 254
    Par défaut
    En fonction des Delphi, WriteLn n'est pas immédiat, dans le vieux Delphi, il y avait un tampon d'écriture, il a été supprimé car cela pouvait provoquer des pertes de données !
    Le tampon devait être de 16K ou 32K maintenant, ça doit être 128o seulement

    Sinon, c'est un problème qui revient souvent Fichier txt - Pb de taille !
    Tu as bien un CloseFile à la fin ?
    Flush ne doit plus faire grand chose, a vérifier tout de même !

    le fichier est écrit en une seule fois ou alors tu fais un Append ?

    Comme 27 n'est pas loin de 26, tu n'écris que du texte ?
    Ce code peu semble générer un fichier texte limité à 27 lignes !

    Remarque : Si un Ctrl+Z (ASCII 26) est présent dans le dernier bloc de 128 octets du fichier, la position de fichier en cours est définie de façon à ce que le prochain caractère ajouté remplace le premier Ctrl+Z du bloc. De cette façon, il est possible d'ajouter un texte à la fin d'un fichier qui se termine par un Ctrl+Z.
    Cela fait la même chose avec le caractère 14 !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    colorid, un peu de code nous aiderait sûrement à... t'aider.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut
    Ok jusq'à la ligne 15

    Mais à partir de la ligne 15 j'écris du ligne à ligne sur plus de 30 lignes et quand je relis le fichier avec wordPad ou le blocNote à partir de la ligne 27 je n'ai plus de ligne

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut
    Ok !
    C'est le manque de CloseFile(F) qui provoque l'arrêt de l'écriture. Je ne l'avais pas encore mis car le code d'écriture n'était pas terminé

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    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 586
    Points : 25 254
    Points
    25 254
    Par défaut
    ???
    Sinon, cela ne devait pas être 27 mais un multiple de 128 (en comptant +2 à chaque ligne)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/06/2014, 11h38
  2. [MySQL] SELECT, INSERT et UPDATE sur un très grand nombre de lignes pour faire un classement
    Par sagat06 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/04/2014, 18h52
  3. Trouver le nombre de ligne pour chaque tableau de chaque feuille
    Par andy05 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/03/2014, 00h58
  4. Réponses: 8
    Dernier message: 15/02/2008, 21h53
  5. Nombre de lignes pour une application ?
    Par BoeufBrocoli dans le forum Windows
    Réponses: 5
    Dernier message: 21/01/2006, 15h48

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