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 fichier TFileStream


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut Ecrire dans fichier TFileStream
    Bonjour à tous!
    J'essaye de créer un menu "Fichier", où il y'aura bien évidemment Ouvrir et Enregistrer. En ce moment je bloque sur "Enregistrer".
    Je fais juste un essai, je crée des enregistrements et je les ecrits dans un fichier dont le nom sera communiqué par un TSaveDialog. Voici ce que j'ai écrit dans l'evénement OnClick du menu:
    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
     
    //------------------------------------------------------------------------
    void __fastcall TForm1::Enregistrer1Click(TObject *Sender)
    {
    struct enreg {
    AnsiString nom;
    int age;
    };
    if ( SaveDialog1->Execute())
    {
    TFileStream *fichier=new TFileStream(SaveDialog1->FileName,fmCreate);
    struct enreg *buff=new struct enreg;
    for (int i=0;i<4;i++)
    {
    buff->nom="someone";
    buff->age=21;
    fichier->Write(buff,sizeof(struct enreg));
    }
     
    delete (fichier);
    }
    //------------------------------------------------------------------------
    Pense aux balises de code le " # " ton texte sera plus lisible

    Où est le problème??
    Si quelqu'un pourrait m'aider ça serait très gentil de sa part.
    Je travaille avec c++Builder.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 71
    Par défaut
    Bonjour

    Eh bien justement c'est quoi ton problème ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    Ah désolée, j'ai une erreur de compilation:
    [Lieur Erreur fatale]:illegal option
    Où est l'erreur dans mon code, je ne coprends pas.
    Sinon dites-moi comment vous faites pour ecrire dans un fichier binaire.
    Merci à vous!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 71
    Par défaut
    Bonjour

    Erreur du lieur (linker) donc pas d'erreur de compilation. Donc ton code est à priori correct. Modifie les options du lieur, il doit y avoir qq chose qui ne lui plait pas.

    Ton code est correct d'un point de vue langage, mais il ne donnera pas ce que tu veux me semble-t-il. En effet ton sizeof(enreg) va toujours te donner la même chose, car la classe AnsiString ne contient pas la chaine que tu lui affecte mais une référence (4 octets) vers cette chaine. La longueur d'une Ansistring s'obtient par AnsiString->Length().

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    Meci de m'avoir épondu mais j'avoue ne pas avoir compris .Je continues toujous à chercher,si j'ai du nouveau je vous dirais!

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Le code que tu a poste fonctionne chez moi (je n'ai pas verifie ce qu'il ecrit), je n'ai rien ajoute dans les entetes, si tu a autre chose comme code il te faut voir de ce cote

Discussions similaires

  1. Ecrire dans fichier
    Par Sahara dans le forum C++
    Réponses: 2
    Dernier message: 16/11/2006, 20h01
  2. Ecrire dans fichier
    Par tit_oune dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 10/04/2006, 14h10
  3. [C#] Comment lire/ecrire dans fichier ini ?
    Par meli0207 dans le forum C#
    Réponses: 2
    Dernier message: 20/03/2006, 16h53
  4. ecrire dans fichier côté serveur
    Par danyboy85 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/03/2006, 16h47
  5. [Débutant][JFileChooser] Ecrire dans fichier
    Par Clark dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/05/2005, 17h47

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