# Environnements de dveloppement > Delphi > Codes sources  tlcharger >  Utilisation de WriteComponent/ReadComponent [Sources]

## Nono40

Bonjour, 

Je vous propose un nouvel lment  utiliser : Utilisation de WriteComponent/ReadComponent

Ce source prsente une mthode simple pour enregistrer et lire des composants dans un fichier.



La description de la mthode employe est dans les commentaires du source.

Attention : dans le cas de sauvegarde de composants personnaliss, seules les proprits ( au sens POO ) sont enregistres.



Pour tester la mthode, il suffit de lancer l'application. De crer un panneau avec le bouton "crer". Puis de l'enregistrer dans un fichier avec le bouton "sauver...". Ensuite pour relire le fichier il suffit de dtruire le panneau actuel, ou de fermer/relancer l'application. Le bouton "Charger" permet alors de lire une sauvegarde du panneau avec tous ses boutons.

Qu'en pensez-vous ?

----------


## edisson81

Salut,
C'est trs intressant comme approche, reste maintenant  savoir comment faire pour enregistrer/lire les vnements comme les OnClick sur les boutons.

Merci et bon travail. ::ccool::

----------


## ShaiLeTroll

Normalement pour un vnement OnClick en property d'un TComponent, cela stocke le nom de la mthode publie utilise comme gestionnaire d'vnement !

Cela utilise MethodAddress et MethodName pour convertir Pointer<->Name

C'est tout simplement le systme de Flux des DFM, il n'y a rien  faire de plus, c'est dj prvu par le TStream

----------


## Paul TOTH

attention cependant, cette gestion de flux est dpendante de la version de Delphi, la migration d'une version  l'autre peut tre problmatique pour la relecture des fichiers.

----------


## edisson81

A votre avis quelle est la meilleure faon de coder un client lger voir riche ?
J'ai vu le code de remoteVCL de Paul ainsi qu'un ancien article de Claude Guth (que ne retrouve plus) intitul "Client lger pour applications Delphi avec Firebird comme base dobjets et dapplications" o il utilise des bpls et des blob.

Merci.

D6 pro + Firebird.

----------

