Tom's Guide > Forum > Programmation > [MFC] Ouverture fichier

[MFC] Ouverture fichier

Forum Programmation : [MFC] Ouverture fichier

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,

J'aurais aimé savoir si qq1 savais comment forcer la reouverture d'un fichier je m'explique: j'ouvre un fichier je fais une modification dessus et quand je le reouvre ben ca m'affiche n'importe quoi (alors que quand je ferme l'appli et que je l'ouvre tout est ok). Apparemment y a un probleme avec la reactualisation de l'ouverture quand c'est le meme fichier :D . Je fais une appli SDI de type cformview et j'utilise les fonctions ouvrir et enregistrer deja fourni de base. Merci de vos reponses ;)

------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Après avoir lu ou écrit dans un fichier, il faut le fermer pour être sûr que les données soient écrites et que le fichier ne soit pas corrompu.
Une fois ton fichier fermé, tu peux l'ouvrir à nouveau.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Salut, merci de la reponse :) mais en fait j'utilise la fonction ouvrir deja implementé dans le projet (celle de windows par defaut lors de la creation d'un projet) . Ou devrais je faire les modifications au niveau de l'ouverture et fermeture alors ?

------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Répondre à Lelouch@idn

slt,
et si tu montrais ton source plutot ? (ouverture/ecriture)

Répondre à elendilm

Salut :) , le probleme c'est que c'est pas moi qui le gere c'est windows :D donc c'est un *.cpp deja codé .... (j'utilise la fonction ouvrir qui est deja implemnté lors de la creation d'un nouveau projet, mes donnéees sont simplement serialisées grace a ca vers un fichier). De mon coté je ne m'occupe que de la serialisation.

------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Répondre à Lelouch@idn

ça change pas le problème. Il doit y avoir une fonction qui ferme le fichier. Sinon, c'est codé avec les pieds :)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

C'est en effet codé avec les pieds :whistle: (j'avais pas trop de temps a passer dessus ). Bah c'est pas bien grave ca survient juste quand on ouvre deux fois de suite le meme fichier me debrouillerais autrement.Apparemment je crois que c'est pas possible a resoudre si je comprends bien le franglais :lol: http://support.microsoft.com/kb/139828/fr. Or c'est exactement ce probleme que j'ai :jap: . Merci ;)

------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Répondre à Lelouch@idn

kestu veux qu'on te dise.

Si tu vas pas montrer ton morceaux de code, on peut pas faire grand chose pour toi ....
Comme déjà dis ici: J'ai oublié ma boule de cristal!!

Par expérience, après avoir écrit des 100aines de milliers de lignes de code: En programmation, il n'y a pas vraiment d'impossibilité (à ce niveau là bien sur), on peut toujours contourner le problème, changer de méthode... en réutilisant l'existant, ou en inventant sa propre méthode.

Répondre à elendilm

Ce n'est pas que je veux pas montrer mon code :D c'est que je n'ai que cette ligne tout simplement :

Code :
  1. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)


Donc je vois pas a quoi ca avancerait ...(la fonction utiliser doit etre dans un fichiers generique de visual 6 ;) )

De plus j'ai essayé comme dans l'exemple de code du lien au dessus de recreer une fonction c'est pas mieux ....alors je vois pas du tout :pt1cable:

PS: je pecise bien une appli mfc que je fais .... :) donc si il y a des fonctions d'origine deja dispo c'est bien pour s'en servir :( apres si elles marchent a moitié :whistle:


Message édité par Lelouch@idn le 02-09-2007 à 13:28:46
------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Répondre à Lelouch@idn

http://msdn2.microsoft.com/en-us/l [...] S.80).aspx
ça appelle le OpenDocument() de ton CDocument. J'imagine que tu as implémenté cette méthode ?

 

Ce qu'on veut savoir, c'est comment tu serialises tes données pour la lecture, et surtout comment tu récupères les données à partir d'un fichier !


Message édité par CRicky le 02-09-2007 à 14:15:03
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Non en fait je crois que ca vient de la le probleme j'ai regardé j'ai ps de OpenDocument() juste un NewDocument(). Pour la serialisation :

Code :
  1. ar >> Objet.NbEleve;
  2. for(int i=0;i<Objet.NbEleve;i++)
  3. {
  4. Objet.TEleve[i].Serialize(ar);
  5.         ar>>Objet.TEleve[i].Nom>>Objet.TEleve[i].Classe ...
  6. ...>>Objet.TEleve[i].moyenne>>Objet.TEleve[i].com;
  7. // Chargement des informations }



En fait quand j'ouvre le meme document il laisse la meme chose (donc laisse les modifications apportés). Or j'aimerais que ca revienent au doc initial.
Merci (je suis vraiment ps doué en mfc et c++ :pt1cable: )

EDIT : apparamment on m'a confirmer que c'etait bien a cause de la fonction d'ouverture qui ne pointe pas sur un fichier deja ouvert ... c'est donc la fonction ouvrir faite de base qui plante .. :)


Message édité par Lelouch@idn le 02-09-2007 à 18:31:45
------------------------------ Une question possède toujours une réponse ....
Amabilité Zéro = Zéro Aide :)
Répondre à Lelouch@idn

ça m'étonne un peu. En même temps, c'est microsoft qui a fait la MFC... :)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Tom's Guide > Forum > Programmation > [MFC] Ouverture fichier
Aller à :

Il y a 1749 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens