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 :

Procédure Readln pour lire un fichier csv [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut Procédure Readln pour lire un fichier csv
    Bonjour,
    Petit utilisateur de Delphi 4, je cherche à passer sous Lazarus version 0.926 sous xp et sous fedora.
    Je cherche à "traduire une petite appli" que j'utilise pour lire des fichiers bancaires *.xls "texte" avec séparateur de champ espace ou point virgule. En comparant le résultat de la procédure readln, avec l'évaluateur contrôle F7, entre delphi et lazarus je n'ai pas le même résultat, il semblerait que sous delphi tout le fichier soit lu par une seule commande readln, mais sous lazarus cette même commande ne lise qu'un morceau du fichier, l'équivalent d'une ligne de mon fichier.
    Novice sous lazarus je me demande si cela est normal.
    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Bonsoir,

    Pourquoi ne pas utiliser les composants natif de Lazarus pour lire tes fichiers texte avec séparateurs ?

    TSdfDataSet est ce qu'il te faut et en plus tu le manipule exactement comme un TDadaset. Je l'utilise pour faire mes import export dans mes applications

    Attention a l'extension .xls ! car elle correspond en principe au FORMAT Excel et .csv a des fichiers plats avec séparateur (ton cas)

    Cordialement,
    Chris

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Bonjour Chris37,
    Content de te retrouver.
    Le fichier *.xls est en fait un fichier de champs texte avec séparateur : le point virgule.
    Pour le composant TSdfDataset, je ne l'ai jamais utilisé et je n'ai pas trouvé d'exemple ni de documentation pour l'utiliser sur le net, hors qu'il serait l'équivalent du TTable dans delphi.
    J'ai essayé de lui transmettre le nom de la table via la propriété filename depuis un opendialog où je choisis le fichier à lire avec le type de séparateur défini à la construction, un composant datasource et un dbgrid associé, mais après comment lire les données du fichier *.xls .
    En écrivant cela je me demande si le paramètre filename ne fait pas référence à une table à créer ou existante et dans ce cas de quel type dbase, sqlite .
    Merci de bien vouloir m'aiguiller vers le bon chemin.

  4. #4
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Salut petit

    Content aussi de tous vous retrouver sur developper.com
    envoi moi ton fichier par gmail et je te fais un ti exemple avec le composant SDF

    Cordialement,
    Chris

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    Salut Chris37,
    Ne sachant où envoyer les fichiers demandés, je vais essayer de les joindre à ce message.
    Merci d'avance
    Ps : les fichiers lazarus sont issus de fedora 9
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Bonjour,

    Pour remplir ton DBGrid avec le fichier choisi, il suffit de rajouter le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      sdfdataset1.Active:=true;
    après avoir choisi le fichier via l'opendialog.

    Pour que la ligne de titre aparaisse correctement dans la dbgrid, changer la propriété FirstLineAsSchema du DataSet à True

    Bonne continuation.

  7. #7
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Bon, et bien, tout est dit

    Affaire suivante

  8. #8
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 385
    Points : 223
    Points
    223
    Par défaut
    C'est OK une petite avance dans l'utilisation de lazarus.
    Merci à vous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/09/2014, 22h28
  2. Réponses: 2
    Dernier message: 05/05/2010, 17h01
  3. Réponses: 6
    Dernier message: 08/04/2005, 03h00
  4. [TP]comment faire pour lire un fichier son
    Par sovo dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/09/2004, 19h33
  5. Probleme pour lire un fichier Ini
    Par Sebinou dans le forum C++Builder
    Réponses: 11
    Dernier message: 10/03/2004, 23h22

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