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 :

Manipulation des fichiers textes sous DELPHI


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut Manipulation des fichiers textes sous DELPHI
    Bonjour à tous,


    - Voilà, j'ai réalisé une interface graphique sous DELPHI qui permet
    de faire une acquisition de données en temps réel. Et je souhaite
    sauvegarder admettons des données acquises sur 15 minutes de temps
    dans un premier fichier texte que je nommerai "datafile1.txt"
    - Ensuite, je procéderai à l'acquisition d'une 2nd série de données
    sur 15 autres minutes, à sauvegarder dans un 2nd fichier texte nommé
    "datafile2.txt".
    - Ensuite une 3ème série de données dans datafile3.txt, une 4ème série
    de données dans datafile4.txt, ...etc.
    - J'ai du mal à automatiser ce processus de sauvegarde. Je suis obligé
    à chaque fois d’arrêter l'acquisition et de renommer manuellement les
    fichiers de données sauvegardés datafile1.txt, datafile2.txt, ...

    Pourriez-vous s'il vous plait m'indiquer une solution possible pour
    une automatisation des noms des fichiers de données sauvegardés.

    Bien cordialement,

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Bonjour, bienvenue sur le forum

    Sans un minimum de code (partie sauvegarde, boucle de traitement) , difficile de donner des solutions .

    à priori , avec une variable compteur il serais facile de changer de nom de fichier
    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    NomFichier:=Format('datafile%d.txt',[i]);
    memo1.Lines.SaveTofile(NomFichier);
    memo1.Clear;

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut
    Bonjour Serge,

    Merci infiniment pour ta réponse rapide.
    J'ai implémenté tes lignes de code, mais ça n'a pas l'air de tourner (Les datafiles ne se sont pas crées).
    J'ai déclarer "NomFichier" comme étant "File", puis "Text File", mais au niveau de l'instruction: NomFichier:=Format('datafile%d.txt',[i]);
    il m'affiche la chose suivante: Opérateur non applicable à ce type d'opérande.

    As tu une idée du Pb ?.
    Je te remercie d'avance.

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 932
    Billets dans le blog
    6
    Par défaut
    Le format de la variable qu'on cherche à lui affecter n'est donc pas celui attendu.

    Celui attendu est forcément celui fourni par la fonction Format et attendu par la méthode SaveToFile. La touche F1 indique certainement que c'est dans les 2 cas un type string, CQFD.

    Enfin, le nom de la variable, NomFichier, laissait supposer son contenu, donc sa nature.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    encore une fois sans voir le code , difficile de se faire une opinion .

    J'ai effectivement oublier d'indiquer que i était un entier (cela me paraissait tellement évident, au vue des noms demandés, que je n'avais pas mis les points sur les i )

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    encore une fois sans voir le code , difficile de se faire une opinion .

    J'ai effectivement oublier d'indiquer que i était un entier (cela me paraissait tellement évident, au vue des noms demandés, que je n'avais pas mis les points sur les i )

    Bonjour,

    Voici une portion du code que j’utilise
    J’a implémenté les lignes de codes que tu m’a transmis, mais je n’ai pas datafile1.txt, datafile2.txt, …etc.
    A la place, Il y a uniquement un seul fichier qui est crée (sans l’extension .txt) qui est nommé NomFichier.
    Rien qu'en prenant une seule valeur de i:=1 (sans mettre dans une boucle), ça n'a pas l'air de fonctionner.


    Voici le code:
    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
    31
    32
    33
    34
    35
    procedure TForm1.Button1Click(Sender: TObject);
     
    var
    .
    .
    i:integer;
    NomFichier: string; // Je déclare les variables i et NomFichier parmis d’autres variables
    .
    .
    Begin
    OpenCom('COM1: baud=9600 parity=N data=8 stop=0'); // J’accède au port série 
     
    i:=1; // J’initialise i à 1
       Memo1.Lines.Clear;
              Memo1.Lines.Add ('Début d''acquisition');
              Memo1.Lines.Add ('-- ' +  DateToStr(Now) + ' --');
              Memo1.Lines.Add ('-- ' +  TimeToStr(Now) + ' --') ;
       NomFichier:=Format('datafile%d.txt',[i]);
              memo1.Lines.SaveToFile('C:\NomFichier);
    i :=i+1 ; // J’incrémente la variable i 
    .
    .
    J’implémente ma boucle d’acquisition de données qui me donne un résultat d’acquisition que je mets dans la variable « val ».
    .
    .
       val:=floattostr(s); // Résultat de l’acquisition 
              Memo1.Lines.Add(val) ;
     
    // Je sauvegarde le résultat de l’acquisition 
    Memo1.Lines.Add ('Fin d''acquisition');
    Memo1.Lines.Add ('-- ' +  DateToStr(Now) + ' --');
    Memo1.Lines.Add ('-- ' +  TimeToStr(Now) + ' --') ;
    memo1.Lines.SaveToFile('C:\NomFichier');
     
    end;
    J’espère que ça pourra t'aider
    Merci par avance,

  7. #7
    Membre Expert

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Par défaut
    Bonjour,

    memo1.Lines.SaveToFile('C:\NomFichier');

    Ce n'est pas ta variable NomFichier que tu utilises !!!

    memo1.Lines.SaveToFile('C:\' + NomFichier);

    ou

    NomFichier:=Format('c:\datafile%d.txt',[i]);
    Memo1.Lines.SaveToFile(NomFichier);

    Thierry

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

Discussions similaires

  1. Manipulation des fichiers textes
    Par tickerdu22 dans le forum C#
    Réponses: 1
    Dernier message: 17/02/2008, 19h45
  2. Réponses: 2
    Dernier message: 07/10/2007, 19h52
  3. A propos des fichiers ressources sous delphi
    Par ramanov dans le forum Débuter
    Réponses: 6
    Dernier message: 31/08/2007, 19h21
  4. Réponses: 2
    Dernier message: 06/08/2007, 13h54

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