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

Pascal Discussion :

Ecrire dans un fichier .txt


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut Ecrire dans un fichier .txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    assign(rapport,'rapport.txt');
    write(rapport,numeroclient:5,nbcasquette:2,nbepingles:2);
    quelqun peut me dire l'erreur qu'il y a la dedans car c'est a la 2ième ligne quil a erreur?

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Si mes souvenirs sont bons : la fontion write ne prends que 2 paramètres dans ce cas. Le premier est la référence du fichier et le second est la variable ou la liste des variables à écrire (et il ne faut pas de virgule pour les séparer). Dans l'exemple ci-dessous, je les concatène et les sépare par un espace.

    Déclaration de la variable rapport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var rapport : text;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Assign(rapport,'rapport.txt');
    Write(rapport, numeroclient:5+' '+nbcasquette:2+' '+nbepingles:2);
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Assign(rapport,'rapport.txt');
    Write(rapport, numeroclient:5);
    Write(rapport, ' ');
    Write(rapport, nbcasquette:2);
    Write(rapport, ' ');
    Write(rapport, nbepingles:2);
    petite remarque : si tu écris dans un fichier texte pense à séparer les données écrites (par une tabulation -chr($09)- ou un retour à la ligne, writeln() fonctionne également pour les fichiers textes), comme ceci les données seront lisibles par un programme du genre NotPad.

  3. #3
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re :
    Oula si tous le monde utilisais les fichier comme vous faite
    -ou est le reset ou est le close(f)
    Pour utiliser un fichier deja existant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var F:text;
     
    begin
    assign(f,'chemin du fichier');
    reset(f);
    Write(rapport, numeroclient:5+' '+nbcasquette:2+' '+nbepingles:2);
    close(f);
    Tien un lien ça pourra t'aider http://cyberzoide.developpez.com/info/turbo/chap10.php3
    Je te le dis et je le repete il y'a tout sur ce site avant de poster lis bien les tuto recherche dans les forums +Faq+Google ensuite poste sur le forum .....

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Oui en effet, j'ai oublié le reset(f) pour ouvrir le fichier et placer le pointeur au début du fichier. Néanmoins, le reset n'est valable que pour les fichers qui existent sinon une erreur est renvoyée.

    Citation Envoyé par diden138
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var F:text;
     
    begin
    assign(f,'chemin du fichier');
    reset(f);
    Write(rapport, numeroclient:5+' '+nbcasquette:2+' '+nbepingles:2);
    close(f);
    même si le pascal n'est pas "case sensitive", je voudrais apporter une petite correction :
    avec un f minuscule.
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Write(f, numeroclient:5+' '+nbcasquette:2+' '+nbepingles:2);
    dans ce cas et non rapport.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    numeroclient : string ;                 
    nbcasquette : integer ;                  
    nbepingles :  integer ; 
    assign(rapport,'rapport.txt');
    rewrite(rapport);
    writeln(rapport, numeroclient:5+' ',nbcasquette:2+,' ',+nbepingles:2);
    quand le programme arrive au writeln , ca stop car il a un erreur d'incompatibilité , comment régler cela?

  6. #6
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re :
    Effectivement il y'a une incompatibilité les variables nbcasquette ,nbepingles sont de type integer alors que ton fichier est un fichier texte donc il ne peut contenir que des chaines de caractére pour remédier à cela tu doit transformer tes variables integer en chaine "transtypage"
    regarde du coté des fonction str et val dans la Faq

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

Discussions similaires

  1. Ecrire dans un fichier txt
    Par El-Diablo- dans le forum C++Builder
    Réponses: 28
    Dernier message: 04/09/2007, 16h17
  2. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  3. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  4. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  5. Ecrire dans un fichier txt sans en effacer le contenu
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/12/2005, 18h11

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