[MFC] Ouverture fichier - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [MFC] Ouverture fichier
 
Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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.

Profil : IDNaute
Plus d'informations

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
Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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 :)
Profil : IDNaute
Plus d'informations

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

Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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 :)
Profil : IDNaute
Plus d'informations

ç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
Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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 :)
Profil : IDNaute
Plus d'informations

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.

Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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 :)
Profil : IDNaute
Plus d'informations

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
Yoruichi 0_o
Profil : IDNaute
Plus d'informations

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 :)
Profil : IDNaute
Plus d'informations

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


---------------
6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21

  FORUM Infos-du-Net » Programmation » [MFC] Ouverture fichier

Aller à :
 

Liens