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 :

Transfert de données d'un fichier texte vers un tableau [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Transfert de données d'un fichier texte vers un tableau
    Bonjour à tous,

    Dans l'objectif d'effectuer des calculs à partir de données acquises par ailleurs et stockées dans un fichier texte séquentiel (séparateur de champs ";" et fin de ligne classique #13#10) j'ai écrit le code suivant :

    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
    30
      // Insertion des données du fichier Balance dans le tableau Balance
          i_Bal0 := 0 ;
          AssignFile(FichBalance , NomFichBal) ;
          Reset(FichBalance) ;
           While not Eof (FichBalance) Do
             Begin
           i_Bal0 := i_Bal0 + 1 ;
           j := 1 ;
           PgBarBalanc.Position := i_Bal0 ; // le curseur du repère progression balance
           readln(FichBalance, LignDatBal_i) ; // lecture ligne par ligne du fichier balance
           MotBal := '' ;
           LonglgnBal := length(LignDatBal_i) ;
              For i := 1 to LonglgnBal Do
                CaractBal :=  lignDatBal_i[i] ;  // les caractères l'un après l'autre de la ligne lue
                If CaractBal <> ';' then  // le séparateur de champs entre les varaibles lues
                  Begin
                      MotBal :=  MotBal + CaractBal ;
                      Edit1.text := MotBal ;  // instruction provisoire pour controler les lectures
                  end
                  Else
                  Begin
                    MotBalanc[j] :=MotBal ;
                    j := j + 1 ;
                    Motbal := '' ;
                  end ;
                   Edit1.text := MotBalanc[j] ; // instruction provisoire
                   Balanc[j , i_Bal0] :=  MotBalanc[j] ;  // construction ligne après ligne du tableau
                  end;
             // ***** Fin d'insertion des données du fichier Balance dans le tableau Balance
             End;
    Le test de fonctionnement de ce code en exécution pas à pas m'indique que la récupération du fichier séquentiel caractère après caractère puis ligne par ligne
    se fait convenablement mais le logiciel n'accède jamais aux instructions gérées par les conditions et boucles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       If CaractBal <> ';' then  // le séparateur de champs entre les vaiables lues
                  Begin
                    ....................
                   ....................
                  end
                  Else
                  Begin  
                   ....................
                   ....................
     
                 end ;
    Comment procéder pour que cela fonctionne, l'objectif final étant d'obtenir un tableau à 4 colonnes et autant de lignes que nécessaire
    où la Première colonne correspond à la première donnée acquise, la seconde colonne à la seconde donnée du fichier texte (séparée dans ce fichier par ; pareil pour la troisième et la quatrième qui se termine par #13#10 dans le fichier texte.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 877
    Points : 11 367
    Points
    11 367
    Billets dans le blog
    6
    Par défaut
    Il manque probablement un begin pour que ton code fasse le boulot correctement (faudra ajouter un end; aussi, du coup...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i := 1 to LonglgnBal Do
      begin // manque 
                CaractBal :=  lignDatBal_i[i] ;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Transfert de fichier vers un tablaeu -
    Bonsoir,

    Merci Tourlourou pour la réponse.
    C'était effectivement le cas.

    Cordialement
    R.O.

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

Discussions similaires

  1. [MySQL] Transfert données d'un fichier text vers Mysql
    Par sebaaas dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/03/2017, 14h33
  2. Réponses: 7
    Dernier message: 28/10/2012, 20h44
  3. Réponses: 3
    Dernier message: 24/05/2008, 18h56
  4. [MySQL] Problème pour insérer les données d'un fichier texte vers une table Mysql !
    Par BARRIAU76 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/01/2008, 23h24
  5. transfert des données d'un fichier text vers un fichier excel sous VB
    Par insane_80 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/09/2006, 13h32

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