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

Langage Delphi Discussion :

FileCreate


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Points : 90
    Points
    90
    Par défaut FileCreate
    Salut ;
    j'ai le probleme suivant si mon fichier texte existe la lecture et l'ecriture marche ,si le cas contraire il me sort un message d'erreur

    voici mon 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
    var
    FileToFind:string;
    F:textfile;
    lig,S,S1 : string;
    i:integer;
    begin
      s:='c:\Gtest.txt' ;
      FileToFind :=FileSearch(s,GetCurrentDir);
      if FileToFind =''then FileCreate(s);
      begin
      assignfile(F,s);
      rewrite(F);         // Message d'erreur sur cette ligne
      if fileexists(s) then
      append(F)
      else
      rewrite(F);
    //  lig :='0,022111111';
      for i:=0to Memo1.Lines.Count do
      begin
      lig:=lig+Memo1.Lines.Strings[i]+#13;
      end;
      writeln(F,lig);
      closefile(F);
      end;
    Merci.[/code]

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Points : 90
    Points
    90
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      rewrite(F);         // Message d'erreur sur cette ligne
    le probleme est au moment de l'ecriture.
    Merci.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 50
    Points : 61
    Points
    61
    Par défaut
    bonjour,

    apres quelque difficultees a lire le code, voici uneversion qui ne plante pas a la creation du fichier:

    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
     
    var
    FileToFind: string;
    F: textfile;
    lig, S, S1 : string;
    i: integer;
     
    begin
      s:='c:\Gtest.txt' ;
     
      if not FileExists(s) then
        FileCreate(s);
     
      assignfile(F, s);
      rewrite(F);        
     
      if fileexists(s) then
        append(F)
      else
        rewrite(F);
     
      for i:=0 to Memo1.Lines.Count - 1 do
        lig:= lig + Memo1.Lines.Strings[i] + #13;
     
      writeln(F, lig);
      closefile(F);
     
    end;

  4. #4
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    Désolé Thierry mais je pense que ton code plante aussi
    Je m'explique lorsque tu cree un fichier avec CreateFile ton fichier est ouvert il faut le refermer avant de le lire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      FileHandle :=FileCreate(s);
      Fileclose(FileHandle);

  5. #5
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    Voila le code corrigé :

    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
     
    var
    FileToFind: string;
    F: textfile;
    lig, S, S1 : string;
    i: integer;
    FileHandle:integer;
    begin
      s:='c:\Gtest.txt' ;
     
      if not FileExists(s)
          then begin
          FileHandle :=FileCreate(s);  //Création Fichier
          Fileclose(FileHandle);       //fermeture du fichier
          end;
     
      assignfile(F, s);
      rewrite(F);
     
      if fileexists(s) then
        append(F)
      else
        rewrite(F);
     
      for i:=0 to Memo1.Lines.Count - 1 do
        lig:= lig + Memo1.Lines.Strings[i] + #13;
     
      writeln(F, lig);
      closefile(F);
     
    end;
    PS:Merci Thierry pour l'aération du code

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Points : 90
    Points
    90
    Par défaut
    Merci ,
    je pense que vous n'avez pas bien compris mon probleme :
    mon code marche tres bien si le fichier existe .
    mais quand mon fichier n'existe pas et qu'il le crée et qu'il veut ecrire sur ce premier il y a erreur et si je relance le code il passe
    J'espere que j'etais clair sinon je suis la.
    Merci

  7. #7
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    oui c'est ce que j'ai fait si le fichier Gtest n'existe pas il le créé et la tu as une erreur car lors de l'appelle a la fonction FileCreate tu ne referme pas le fichier tu as essyaer mon code ?? et tu as toujours le probleme??

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Points : 90
    Points
    90
    Par défaut
    Merci jmjmjm;
    c'est ca ce que je cherchais c'est la fermeture du fichier.
    Encore merci pour votre patience.

  9. #9
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    De rien ya pas de souci :o
    Pense a l'etiquette

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

Discussions similaires

  1. supprimer un fichier creer avec FileCreate
    Par madjidri dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/06/2007, 17h45

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