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 :

Lire saut de ligne dans fichier .csv


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Aucune
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Lire saut de ligne dans fichier .csv
    Bonjour

    Quand je cré un fichier .csv avec excel, opencalc ou un éditeur de texte,et que je le lis avec delphi, je peux détecter le saut de ligne en testant le caractère #10

    Mais quand je télécharge un fichier .csv depuis yahoo finance (https://finance.yahoo.com/quote/GERN/history?p=GERN) impossible !

    Il semble que #10 ne soit pas le caractère qui correspond au saut de ligne.

    Donc j aimerai savoir comment détecter ce saut de ligne.

    Question subsidiaire : Un éditeur de texte peut il afficher ce saut de ligne pk j utilise SublimeText et je ne vois rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while fStr.Read(ch, 1) = 1 do
    begin
      if (ch = #13) then
      begin
        Memo1.Lines.Add('ligne');
        break;
      end;
    end;
    merci de votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Aucune
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    Bon je progresse, j ai trouvé la réponse à ma question.

    Il faut tester #10 en lieu et place de #13

  3. #3
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    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 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Tu peux aussi utiliser un TStringlist et charger directement ton fichier par loadFromFile. 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
     
    procedure TForm1.FormActivate(Sender: TObject);
    Var
      sl1, sl2: TSTringList;
      i1: integer;
    begin
      sl1 := TSTringList.Create;
      sl2 := TSTringList.Create;
      sl1.LoadFromFile('GERN.CSV');
      sl2.Delimiter := ',';
      for i1 := 1 to sl1.Count - 1 do
      begin
        sl2.DelimitedText := sl1[i1];
        ListBox1.Items.Add(sl2[0] +'|'+ sl2[1]);
      end;
      sl1.free ;
      sl2.free ;
    end;

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    si je ne m'abuse, il est possible de faire un Memo1.Lines.LoadFromFile() après avoir fixé Memo1.Lines.LineBreak := #10
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre du Club
    Homme Profil pro
    Aucune
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    merci pour vos réponses.
    Si j ai choisis ce mode afin de proceder à la lecture de fichiers c est qu ils sont parfois énormes et nécessitent un explode ce qui est rendu bien plus rapide en procédant ainsi et en testant individuellement chaque caractère.

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Les sauts de lignes dans les fichiers textes dépendent de l'OS. Sous Windows, le saut de ligne est la combinaison des caractères #13 (Cariage Return) et #10 (Line Feed). Sous Unix (et Linux), seul le Line Feed est nécessaire. Sur les anciennes versions de Mac OS (<= à Mac OS 9 il me semble) seul le Cariage Return était nécessaire.

    Pour votre question subsidiaire, avec NotePad++ il est possible d'afficher les symboles spéciaux : menu Affichage / Symboles spéciaux et cocher "Afficher les symboles de fin de ligne".
    Sous mon éditeur (GBEPad ) c'est via les options : rubrique "Editeur" puis cocher les cases "Caractères spéciaux" et "Détails".
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

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

Discussions similaires

  1. sauts de ligne dans fichier
    Par ldiaz dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 16/02/2012, 11h34
  2. Saut de ligne dans fichier CSV
    Par pausg dans le forum Langage
    Réponses: 15
    Dernier message: 29/07/2011, 16h27
  3. Saut de ligne dans fichier de ressources
    Par David Fouejio dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2010, 10h41
  4. [CSV] Saut de ligne dans un csv
    Par ThE BiShOp* dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2007, 14h21
  5. Réponses: 3
    Dernier message: 16/08/2006, 17h32

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