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

Lazarus Pascal Discussion :

Lecture String dans textfile [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut Lecture String dans textfile
    Bonjour,

    Je me repose la question de savoir si un string peut avoir une longueur de 1500 caractères ?.
    En fait j'ai un fichier texte Structure.txt qui comprend la structure (l'entête) du carnet d'adresse de Orange:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "code postal autre","code postal autre 2","code postal autre 3","code postal perso","code postal perso 2","code postal perso 3","code postal pro","code postal pro 2","code postal pro 3","commentaires","date de naissance","deuxième prénom","email autre","email autre 2","email autre 3","email perso","email perso 2","email perso 3","email pro","email pro 2","email pro 3","fax autre","fax autre 2","fax autre 3","fax perso","fax perso 2","fax perso 3","fax pro","fax pro 2","fax pro 3","fixe autre","fixe autre 2","fixe autre 3","fixe perso","fixe perso 2","fixe perso 3","fixe pro","fixe pro 2","fixe pro 3","fonction","mobile autre","mobile autre 2","mobile autre 3","mobile perso","mobile perso 2","mobile perso 3","mobile pro","mobile pro 2","mobile pro 3","nom","pays autre","pays autre 2","pays autre 3","pays perso","pays perso 2","pays perso 3","pays pro","pays pro 2","pays pro 3","prénom","rue autre","rue autre 2","rue autre 3","rue perso","rue perso 2","rue perso 3","rue pro","rue pro 2","rue pro 3","région autre","région autre 2","région autre 3","région perso","région perso 2","région perso 3","région pro","région pro 2","région pro 3","site autre","site perso","site pro","société","surnom","titre","vidéo autre","vidéo autre 2","vidéo autre 3","vidéo perso","vidéo perso 2","vidéo perso 3","vidéo pro","vidéo pro 2","vidéo pro 3","ville autre","ville autre 2","ville autre 3","ville perso","ville perso 2","ville perso 3","ville pro","ville pro 2","ville pro 3"
    Je voudrais faire un certain nombre de manipulations sur cette structure et donc par exemple isoler les champs, les choisir etc. Je pensais m'en sortir facilement avec le code du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      AssignFile(Ftxt,Fichier);
      Try
         reset(Ftxt);
         readln(FTxt,Line);
         Showmessage(Line);
      finally
        CloseFile(Ftxt);
      end;
    Mais la variable Line (de type string) est vide.

    Quelqu'un a une idée?
    merci

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    Peux-tu essayer ce code-là :
    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
    Var
      F : TextFile;
      S : String;
    Begin 
      AssignFile(F,Fichier);
      Reset(F);
      While not eof(F) do
      Begin
        Readln(F,S);
        showmessage(S);
        Ff S='' then 
         Break;
      End;
      CloseFile(F);
    End;

  3. #3
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 636
    Par défaut
    Bonjour,

    Si le fichier a exactement la forme montrée, il n'y a que 2 lignes à lire :
    • La première qui est vide.
    • La seconde qui comporte tous les champs, " inclus.

    Comme le code ne lit qu'une ligne...

    Le second code sort quand la ligne est vide. Il produira donc le même résultat puisqu'il sortira dès la première ligne qui est vide.

    Une petite modification du code de anapurna permet de ne pas se faire ennuyer par les lignes vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
       F : TextFile;
       S : String;
    begin 
       AssignFile(F, Fichier);
       Reset(F);
       while not eof(F) do begin
          Readln(F, S);
          if S = '' then continue;   // Les lignes vides sont simplement sautées
          ShowMessage(S);
       end;
       CloseFile(F);
    end;
    Salutations

  4. #4
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Merci anapurna et Guesset,

    Autant pour moi, je ne lisais qu'une seule ligne car c'était juste un essai sur le décodage préalable de la première ligne (la structure) du Fichier. Et donc elle était vide.
    Je confirme cependant que le String comprend 1503 caractères

    Bonne soirée

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

Discussions similaires

  1. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  2. Integer ou string dans une DBGRID
    Par Yepazix dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/08/2004, 13h42
  3. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  4. Réponses: 6
    Dernier message: 24/07/2003, 12h39
  5. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08

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