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

C++Builder Discussion :

Ecrire dans un fichier txt


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut Ecrire dans un fichier txt
    Bonjour,

    Je veux écrire des données retirées de 2 TEdit et les placé dans un fichier ".txt" dont l'utilisateur peut choisir le quel.

    C'est a dire, quand il lance le programme, l'utilisateur écrit le chemin de son fichier ".txt", par exemple : "C:\Temp\toto.txt" et le programme doit ecrire dans ce fichier. J'ai crée ce 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
       if(Key == VK_RETURN) {
     
          AnsiString asTexteEcrire = "" ;
          FILE *FileRead = NULL ;
     
          FileRead = fopen("C:\\cLocalisation","a+t") ;
          asTexteEcrire = edNomEcrire->Text ;
          asTexteEcrire = asTexteEcrire + "\t\t" ;
          fprintf(FileRead,asTexteEcrire.c_str()) ;
     
          asTexteEcrire = edPrixEcrire->Text ;
          asTexteEcrire = asTexteEcrire + "\n" ;
          fprintf(FileRead,asTexteEcrire.c_str()) ;
     
          asTexteEcrire = "" ;
          edNomEcrire->Clear() ;
          edPrixEcrire->Clear() ;
     
          fclose(FileRead) ;
       }
    Je ne sais pas pourquoi cela ne fonctionne pas, car le programme se lance sans aucune erreur mais j'ai rien qui se passe.

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    alors utilise un TMemo

    tu met ton texte dedans

    et ensuite tu fait Memo->SaveToFile(Nom du fichier)

    et cela devrait faire ce que tu attend

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    J'ai le message: SaveToFile n'est pas un membre de TMemo...

  4. #4
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut
    Tu peux essayer cette methode d'écriture dans le fichier qui fonctionne pour moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    AnsiString str = "bla bla bla";
    AnsiString chemin = "C:\\cLocalisation";
     
    file = new TFileStream(chemin, fmCreate);
    file->Write(str.c_str(),strlen(str.c_str()));
    delete file;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Merci pour ta réponse marcootz mais ca ne fonctionne pas... kurul1, est-tu sur de m'avoir donné le bon code ?

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Ca serait plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo->Lines->SaveToFile(MonFichier)
    A+

  7. #7
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    C'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1->Lines->SaveToFile("C:\\cLocalisation.txt");

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Salut,

    Ca serait plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo->Lines->SaveToFile(MonFichier)
    A+
    MonFichier est le nom d'un variable dans laquelle je veux mettre la localisation de mon fichier ?

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Oui!

    Soit tu stockes dans une variable le chemin de ton fichier, ou tu l'écris directement sans passer par la variable ce qui donnerai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo->Lines->SaveToFile("C:\\TEMP\\toto.txt");

  10. #10
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Citation Envoyé par El-Diablo- Voir le message
    kurul1, est-tu sur de m'avoir donné le bon code ?
    Excuse moi j'ai oublié de préciser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // pour ajouter une ligne dans ton Memo
    Memo->Lines->Add("Texte")
    et comme te l'on déjà dit les collègues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //Pour enregistrer le fichier
    Memo->Lines->SaveToFile(NomFichier)

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Le seule problème c'est qu'avec cette facon de faire la chose, quand je ferme le programme et que je veux ajouter des données dans le même fichier il efface tout et garde les donnés ajoutés la dernière fois.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    J'ai parler trop vite ! Je vais testé ca !

  13. #13
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Tu peux charger un fichier dans un Memo également

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Memo->Lines->LoadFromFile(NomFichier);

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Comment je fais si je veux modifier le texte introduit dans le TMemo avant de l'inscrire dans le fichier ".txt" ?

  15. #15
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    La propriété Lines de TMemo est un objet TStrings donc tu peux utiliser les propriétés de TStrings pour manipuler les lignes de ton Memo

    Par exemple, admettons que tu veux récupérer la 30ème ligne de ton TMemo

    Tu fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       AnsiString Ligne = Memo->Lines->Strings[29];
    Si tu veux modifier la totalité du texte, tu peux utiliser la propriété Text de ton Memo

  16. #16
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    n'oubli pas le bouton
    en bas de la page si ton problème est résolu.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    J'ai juste encore une question, mon petit programme donne ceci :



    Comment je fais si je veux additioner tout les montants qui sont dans la "colonne" de droite ?

  18. #18
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Est-ce que tes lignes on toujours le même format ?

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Ecoute j'ai fait différament, j'ai fait comme ceci : J'ai créer un deuxieme TMemo où je mets touts les prix, et j'ai garder l'autre TMemo ou je garde le libellé. Donc il faudrai juste additionner toutes les lignes d'un TMemo. Comment faire ?

  20. #20
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    C'est plus simple comme tu as fait la, ca pa plus mal
    Si tu es sur que ton TMemo ne contient que des chiffres tu peux faire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       // Somme
       double Somme = 0.0;
     
       // on balaye l'ensemble des lignes du Memo
       for(int i = 0; i < Memo->Lines->Count; i++)
       {
          // Tu ajoute la valeur
          Somme += Memo->Lines->Strings[i].ToDouble();   
       }
    Après pour être sur de ne pas avoir d'erreur, tu peux tester si ta ligne contient bien un double.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  2. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  3. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  4. Ecrire dans un fichier .txt
    Par yinyann86 dans le forum Pascal
    Réponses: 17
    Dernier message: 24/11/2006, 13h36
  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