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

MFC Discussion :

[MFC] sauvegarde et chargement de fichiers


Sujet :

MFC

  1. #1
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par d�faut [MFC] sauvegarde et chargement de fichiers
    Bonjour,

    je souhaiterai effectuer la sauvegarde de fichiers dans mon application SDI. Je n'ai pas de question v�ritablement pr�cise sur le code, mais plut�t sur la d�marche � mettre en place pour effectuer un telle chose.

    Lorsque j'ai cr�� mon projet, il m'a imm�ditament cr�� 1 View, 1 Doc, 1 App et 1 MainFrame. Je ne me sert pas de la vue et du document. Par contre dans ma mainframe, j'ai ajou� des splitters. Ces splitters contiennent diff�rentes classes h�ritant des MFC, dont 3 classes h�ritant de CEditView.

    Je souhaite d�sormais pouvoir enregistrer le texte contenu dans ces CEditView et pouvoir le charger. Afin de pouvoir le r�afficher dans mes Views. Je m'interroge sur la m�thode la plus facile � mettre en place pour effectuer ceci.

    Si vous pouviez m'�clairer ce serait coOOOol. J'ai pr�cis� un ensemble de questions si dessous, dont les r�ponses, je l'esp�re pourrait m'aider.

    Questions:
    -Faut il cr�er des classes Doc correspondant aux views pour sauvegarder leur contenu. Si oui, comment associer le document � la vue.
    -Y a t'il d'autres m�thodes que le passage par une classe document pour sauvegarder une vue? Si oui, qu'elle m�thode est la plus judicieuse � utiliser?
    -Comment charger un document sauvegard� et le r�affich� correctement dans l'interface (sachant que j'ai trois vue qui h�rite de CEditView et qu'elle corresponde � un type de texte en particulier, soit un script, soit un fichier contenant des trames, etc.)
    -Qu'est ce que la serialisation exactement?
    -Quel est le nombre maximal de caract�res qui peuvent �tre contenu dans un CEditView.

    Merci de votre attention.

  2. #2
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par d�faut d�sol� pour les nombreuses fautes de frappe [nt]
    nt : non-texte

  3. #3
    Membre chevronn�
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par d�faut Re: [MFC] sauvegarde et chargement de fichiers
    Citation Envoy� par Aradesh
    Bonjour,
    ...
    >>-Faut il cr�er des classes Doc correspondant aux views pour sauvegarder leur contenu. Si oui, comment associer le document � la vue.
    Non, pas forc�ment car tes vues sont pour le m�me document.
    Dans ta classe Doc tu peut r�cup�rer des pointeurs sur les vues et donc les donn�es associ�es grace � 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    //*******************************************************************
    // Retourne la vue de type désiré 
    //*******************************************************************
    CView * ClsMyDoc::GetView(int Type)
    	{
    	POSITION ViewPos = this->GetFirstViewPosition();
    	bool Founded		 = false;
    	CView *CurView	 = NULL;
     
    	if(ViewPos != NULL)
    		{
    		do
    			{
    			CurView = this->GetNextView(ViewPos);
    			CRuntimeClass * RTClasse = CurView->GetRuntimeClass();
     
    			switch(Type)
    				{
    				case UNDEFINED		: return NULL;	break;
    				case 0	: if(RTClasse == RUNTIME_CLASS(ClsMyView0) ){Founded = true;}break;
    				case 1			: if(RTClasse == RUNTIME_CLASS(ClsMyView1))		{Founded = true;}break;
    				case 2			: if(RTClasse == RUNTIME_CLASS(ClsMyView2))		{Founded = true;}break;
    				}
     
    			}while(!Founded);
    			return CurView;
    		}
    	return NULL;
    	}
    //Ou ClsMyView0 ,  1 et 2 sont tes classes de EditView
    et Apr�s faire utiliser Serialize

    Citation Envoy� par Aradesh
    Bonjour,
    ...
    >>-Y a t'il d'autres m�thodes que le passage par une classe document pour sauvegarder une vue? Si oui, qu'elle m�thode est la plus judicieuse � utiliser?
    Tu peut toujours faier une m�thode Save, qui �cris dans un fichier le contenus de tes textes.
    Utiliser serialize c'est bien car �a te permet de faire la sauvegarde et le chargment dnas la m�me m�thde gr�ce � CArchive::IsStoring. Y as pas forcement de gros avantage....

    Citation Envoy� par Aradesh
    Bonjour,
    ...
    >>-Comment charger un document sauvegard� et le r�affich� correctement dans l'interface (sachant que j'ai trois vue qui h�rite de CEditView et qu'elle corresponde � un type de texte en particulier, soit un script, soit un fichier contenant des trames, etc.)
    Voir ci-dessus.
    Citation Envoy� par Aradesh
    Bonjour,
    ...
    >>-Qu'est ce que la serialisation exactement?
    Ben c'est juste une interface pour la sauvegarde. Sache que quoi qu'il arrive, il faudra que tu fasse ta m�thode de sauvegardedans uun fichier.
    Citation Envoy� par Aradesh
    Bonjour,
    ...
    >>-Quel est le nombre maximal de caract�res qui peuvent �tre contenu dans un CEditView.
    Si mes souvenirs sont bon c'est 2^32 / 2 caract�re soit 2147483648 caract�re( en gros 2Go), c'est � v�rifier....

  4. #4
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par d�faut ok!
    merci beaucoup pour toutes ces explications tr�s claires.

    j'attends toutefois devoir si mon truc marche en pratique avant de cliquer sur r�solu. (On ne sait jamais, je pourrai avoir d'autres questions)

  5. #5
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055

  6. #6
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 79
    Par d�faut merci
    Merci � tous les deux,

    j'ai fait des tests, �a marche.
    Je devrai m'en sortir pour la suite.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [TClientDataSet] Erreur de chargement du fichier MIDAS.DLL
    Par Manopower dans le forum Bases de donn�es
    R�ponses: 10
    Dernier message: 31/08/2016, 14h08
  2. [D�butant] Sauvegarde et chargement sur fichier text
    Par Invit� dans le forum C#
    R�ponses: 2
    Dernier message: 28/02/2012, 22h42
  3. sauvegarde et chargement � partir d'un fichier
    Par fomazou dans le forum D�buter
    R�ponses: 7
    Dernier message: 14/05/2009, 22h23
  4. [MFC] Limitation du nombre de fichiers...
    Par chronos dans le forum MFC
    R�ponses: 5
    Dernier message: 02/06/2004, 10h40
  5. [MFC] Fen�tre de chargement
    Par Kant dans le forum MFC
    R�ponses: 16
    Dernier message: 26/02/2004, 15h16

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