25-10-2006 19:35:20
- Dekron
- Membres
- Date d'inscription:
- Messages: 46
- IP: 172.204.121.11
- Courriel Site web
Bon je ne savais pas trop ou poster, je tente déja ici, car ca peut concerner irrlicht.
Je me demandais, comment enregistrer des données dans un fichier et les réutiliser plus tard.
Dans mes cours de C++ basique, on avait bossé sur les flux, et enregistré dans un fichier .txt des données numériques. Pour les relire, il fallait réouvrir ces fichier, et décoder ( la est toute la nuance ) les données pour ne pas faire d'erreur ( genre placer les 8 ou 9 premiers chifre dnas le premier double, et pas simplement le 1er ).
En utilisant Visual C++ et les MFC ( ds mon école ) on s'est servi de la sérialisation, méthode bien pratique qui permet d'enregistrer des infos de tout type tres facilement, de définir un type de fichier précis dans lequel elle seront gardées, puis de pouvoir le r'ouvrir tres facilement.
Grace à la méthode Serialize() des MFC, on peut enregistrer directements des instances entières, sans devoir enregistrer les parametres un par un, et surtout, redécoder tout cela lors de la réouverture.
Donc, je me demandais s'il existait en C++ ( peut être fourni avec irrlicht ?? ) des méthodes similaires pour enregistrer des données ( comme des objets instanciés ) dans un fichier, et les relire, sans devoir utiliser la méthode de " je transforme tout en caractères que j'enregistre un par un, puis je redécode tout le tsoin tsoin ... " ?
Enfin je suppose que cela existe, comment font les développeurs de soft sinon ? Ils utilisent tous visual ?
Visitez Arcis : MMORPG ammateur utilisant irrlicht !
Etudiant ingénieur, maitrise C++, connaissances python & php.
Hors ligne
25-10-2006 19:45:49
- DeusXL
- Membres

- Date d'inscription:
- Messages: 174
- IP: 82.66.209.23
- Courriel
En C++, sauf erreur, il n'y a pas de mystère. Il faut coder tes propres méthodes de Serialisation.
Irrlicht en a déjà des tonnes (utilisées par les fichier .irr et par irrEdit donc) qui stockent plein d'informations dans une syntaxe de type XML mais au final on a toujours une imbrication des sérialisations, exemple :
- Sérialisation d'un flottant
- Sérialisation d'un vecteur 3D (3 flottants)
- Sérialisation d'une matrice 4x4 (16 flottants)
- Sérialisation d'une scene node (X vecteurs 3D et Y matrices)
- Sérialisation d'une scène (X scene nodes)
Je sais pas si tu me suis mais ce que je veux dire c'est qu'il n'y a pas de méthode miracle, il faut imbriquer pour se réduire aux types de base au final... C'est ainsi que .NET procède pour permettre des sérialisations très propres et assez simples.
PS : Je sais pas pourquoi mais une petite voix dans ma tête me dit que j'avais rencontré un code avec dedans une sérialisation propre d'une structure en C.
Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.
Hors ligne
25-10-2006 20:09:47
- Aranoth
- Membres

- Date d'inscription:
- Messages: 242
- IP: 90.16.194.146
- Courriel Site web
La librairie C++, Boost::Serialize peut t'être utile
http://www.boost.org/
Hors ligne
25-10-2006 20:10:23
- Dekron
- Membres
- Date d'inscription:
- Messages: 46
- IP: 172.204.121.11
- Courriel Site web
Sisi je t'ai suivi, mais bon ya toujours une peite aide.
Ca te permet aussi d'enregistrer les données dans un type que tu choisis, et pas dans un fichier txt ?
Comme cela, tu as des exemples de fonctions d'irrlicht ( a part les irr ) qui "sérialisent" ?
Visitez Arcis : MMORPG ammateur utilisant irrlicht !
Etudiant ingénieur, maitrise C++, connaissances python & php.
Hors ligne
26-10-2006 06:22:29
- DeusXL
- Membres

- Date d'inscription:
- Messages: 174
- IP: 82.66.209.23
- Courriel
Moi j'ai décrit une démarche permettant de réduire la lourdeur du code mais au final tu dois toi-même l'adapter à tes besoins, dans Irrlicht, beaucoup de classes ont ces fonctions de Sérialisations/Désérialisations, utilisées notamment dans les .irr, à part ça je vois pas où il pourrait y en avoir.
@Aranoth : Je me doutais que Boost ou autres avaient une librairie dans ce genre, mais j'avoue avoir eu un peu la flème de chercher ![]()
Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.
Hors ligne
26-10-2006 10:43:38
- Dekron
- Membres
- Date d'inscription:
- Messages: 46
- IP: 194.167.30.129
- Courriel Site web
merci, je vais aller mater cela un peu ![]()
Visitez Arcis : MMORPG ammateur utilisant irrlicht !
Etudiant ingénieur, maitrise C++, connaissances python & php.
Hors ligne



