OVH Cloud OVH Cloud

Variable sauvegardé

6 réponses
Avatar
Jean-Michel
Bonjour,

Je voudrais faire dans mon programme la possibilité de sauvegarder des
variables, et que lors de la prochaine execution du programme, ca prenne la
valeur enregistré dans ce fameux fichiers !
Avez vous des astuces, ou des site avec des explications, merci !

6 réponses

Avatar
Christophe QUEVAL
Vous pouvez utiliser les fonctions SaveSetting et GetSetting pour
sauvegarder et récupérer vos "sauvegardes" de variables dans la base de
registre qui est là pour ça. :-)

Christophe

"Jean-Michel" a écrit dans le
message de news:
Bonjour,

Je voudrais faire dans mon programme la possibilité de sauvegarder des
variables, et que lors de la prochaine execution du programme, ca prenne


la
valeur enregistré dans ce fameux fichiers !
Avez vous des astuces, ou des site avec des explications, merci !




Avatar
François Picalausa
"Christophe QUEVAL" a écrit dans le
message de news:br6nb1$n3j$
Vous pouvez utiliser les fonctions SaveSetting et GetSetting pour
sauvegarder et récupérer vos "sauvegardes" de variables dans la base
de registre qui est là pour ça. :-)



Bonjour/soir,

On peut aussi le faire dans des fichiers ini (mais ça devient obsolète) et,
plus à la mode, en xml.
En XML, références > Microsoft Xml, vX.Y
Pour les ini:
http://faq.vb.free.fr/index.php?question2

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
jean-marc
"Christophe QUEVAL" wrote in message
news:br6nb1$n3j$
Vous pouvez utiliser les fonctions SaveSetting et GetSetting pour
sauvegarder et récupérer vos "sauvegardes" de variables dans la base de
registre qui est là pour ça. :-)




Bonjour,

je ne recommande *PAS* cette méthode! La base de registre est déjà un
foutoir immonde,
il est inutile d'aller encore en rajouter une couche. De plus, quand on veut
simplement passer
son application d'une machine à une autre, pas moyen de récupérer facilement
tout ta belle
configuration.
Le bon moyen, à mon avis, est d'utiliser un fichier externe, dans un format
"standard" (.ini), ou
plus "moderne" (xml) ou pourquoi pas dans un format propriétaire, avec
quelques fonctions de
manipulation que tu peux écrire à ton goût.
Les applications qui écrivent dans la base de registre, c'est du même ordre
d'horreur que de créer
des fichiers dans les répertoires systèmes de Windows ou encore d'utiliser
de façon hard-codée la
racine du disque C pour stocker des fichiers (si si, ça existe :-( ).

Jean-Marc
Avatar
Jean-Michel
Merci pour vos reponses :)

"jean-marc" a écrit dans le message de
news:3fd70be3$0$282$
"Christophe QUEVAL" wrote in message
news:br6nb1$n3j$
> Vous pouvez utiliser les fonctions SaveSetting et GetSetting pour
> sauvegarder et récupérer vos "sauvegardes" de variables dans la base de
> registre qui est là pour ça. :-)
>

Bonjour,

je ne recommande *PAS* cette méthode! La base de registre est déjà un
foutoir immonde,
il est inutile d'aller encore en rajouter une couche. De plus, quand on


veut
simplement passer
son application d'une machine à une autre, pas moyen de récupérer


facilement
tout ta belle
configuration.
Le bon moyen, à mon avis, est d'utiliser un fichier externe, dans un


format
"standard" (.ini), ou
plus "moderne" (xml) ou pourquoi pas dans un format propriétaire, avec
quelques fonctions de
manipulation que tu peux écrire à ton goût.
Les applications qui écrivent dans la base de registre, c'est du même


ordre
d'horreur que de créer
des fichiers dans les répertoires systèmes de Windows ou encore d'utiliser
de façon hard-codée la
racine du disque C pour stocker des fichiers (si si, ça existe :-( ).

Jean-Marc





Avatar
François Picalausa
"jean-marc" a écrit dans le message
de news:3fd70be3$0$282$
"Christophe QUEVAL" wrote in message
news:br6nb1$n3j$
Vous pouvez utiliser les fonctions SaveSetting et GetSetting pour
sauvegarder et récupérer vos "sauvegardes" de variables dans la base
de registre qui est là pour ça. :-)



je ne recommande *PAS* cette méthode! La base de registre est déjà un
foutoir immonde,
il est inutile d'aller encore en rajouter une couche. De plus, quand
on veut simplement passer
son application d'une machine à une autre, pas moyen de récupérer
facilement tout ta belle
configuration.
Le bon moyen, à mon avis, est d'utiliser un fichier externe, dans un
format "standard" (.ini), ou
plus "moderne" (xml) ou pourquoi pas dans un format propriétaire, avec
quelques fonctions de
manipulation que tu peux écrire à ton goût.
Les applications qui écrivent dans la base de registre, c'est du même
ordre d'horreur que de créer
des fichiers dans les répertoires systèmes de Windows ou encore
d'utiliser de façon hard-codée la
racine du disque C pour stocker des fichiers (si si, ça existe :-( ).



Bonjour/soir,

Voici la reccommandation de Microsoft dans les articles concernant la
lecture/écriture dans des fichiers ini:
Note This function is provided only for compatibility with 16-bit versions
of Windows. Applications should store initialization information in the
registry.

(Cette fonction est fournie uniquemenet pour compatibilité avec les versions
16-bit de Windows. Les applications devraient stoquer les informations
d'initialisation dans le registre.)

Normalement, le HKEY_CURRENTUSER contient des données relatives à un
utilisateur... donc, pour sauvegarder tes données, il faudrait l'exporter.
Par contre, si on stoque dans des fichiers, tout à fait d'accord sur le fait
qu'il faut stoquer les bons fichiers aux bon endroit... (AppData pour les
données d'une application, MesDocuments pour les documents créés par un
utilisateur, ...).
Voici un exemple permettant de récupérer ces path:
http://faq.vb.free.fr/index.php?question`

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Jean-Marc
"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

Voici la reccommandation de Microsoft dans les articles concernant la
lecture/écriture dans des fichiers ini:
Note This function is provided only for compatibility with 16-bit


versions
of Windows. Applications should store initialization information in the
registry.

(Cette fonction est fournie uniquemenet pour compatibilité avec les


versions
16-bit de Windows. Les applications devraient stoquer les informations
d'initialisation dans le registre.)

Normalement, le HKEY_CURRENTUSER contient des données relatives à un
utilisateur... donc, pour sauvegarder tes données, il faudrait l'exporter.
Par contre, si on stoque dans des fichiers, tout à fait d'accord sur le


fait
qu'il faut stoquer les bons fichiers aux bon endroit... (AppData pour les
données d'une application, MesDocuments pour les documents créés par un
utilisateur, ...).
Voici un exemple permettant de récupérer ces path:
http://faq.vb.free.fr/index.php?question`




Bonsoir,
merci de rappeler les recommandations de Microsoft :-)
Il n'en reste pas moins que la Base de registre pour sauver des paramètres
de configuration
d'une application n'est pas une bonne idée; voici un exemple récent et je
l'espère parlant:
j'avais écrit un petit programme en VB pour effectuer un certain traitement.
Le programme lui
même n'était pas très compliqué, mais il était très configurable, et
j'employais donc pour cela
un fichier de configuration (format propriétaire)pour stocker une bonne
trentaine de paramètres,
de différents types, allant d'une simple valeur numérique à une longue
chaine de caractères.

NB: je n'utilisait pas le fonctions Windows de lecture/écriture des fichiers
ini, mais mes propres fonctions.

Ce petit programme est utilisé par une dizaine de personnes de ma société et
chauqe utilisateur utilise
avec ce programme son propre fichier de configuration.

Un beau jour, on m' a demandé de faire de ce programme une version portable,
multiplateforme; j'ai donc
réécrit cette petite application en C et elle fonctionne maintenant sous
toutes nos plateformes: Windows
toujours, mais aussi AIX, VAX VMS, Solaris, HP-UX et même sur le mainframe
(z/Os et OS390).

Le portage en C m'a pris 1 journée, et les utilisateurs ont juste eu à
copier leur fichier de config perso, et
de le mettre dans leur répertoire, sur la nouvelle machine cible (l'un AIX,
l'autre VAX, etc.)
Aucune modification de ces fichiers n'a été nécessaire, ni dans le fond ni
dans la forme.

Vous imaginez le cirque si mon appli avait stocké ses paramètres dans la BDR
?

Jean-Marc