Bonjour, J'ai un formulaire avec différents controles dessus (logique) je voudrais poussant sur mon bouton close il me demande de sauvegarder mes changements si j'en ai et si ils n'ont pas encore été sauvés comment puis-je faire ?? . Merci
Bonjour, J'ai un formulaire avec différents controles dessus (logique) je voudrais poussant sur mon bouton close il me demande de sauvegarder mes changements si j'en ai et si ils n'ont pas encore été sauvés comment puis-je faire ?? . Merci
Ma solution :
Tu parcours la collection Controls de ton formulaire et tu enregistres les informations dans un fichier ini de la forme :
Il faut distinguer selon les controles dont tu veux sauvegarder la propriété Text (Par exemple TextBox), propriété Caption (Label), Value (CheckBox) et List (ListBox si tu veux sauvegarder tout les éléments de la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [Sauvergarde] control_name = control_caption control_name = control_text control_name = control_value control_name = control_list1, control_list2, control_list3, ...
Un fichier ini est composé de section, clé, valeur. La clé peut-être le nom du controle execption faite des groupes de controles. Tu peux alors utilisé la concaténation du nom et de la propriété Index du controle.
Exmple de fichier Ini
Voilà, c'est une proposition![Sauvegarde]
TextBox1 = "Message Text"
TextBox2 = "Autre message"
CheckBox1= True
ListBox1 = Jean, Paul, Aurélien, Serge
TextBox3_1 = "Element 1 du groupe de controle"
TextBox3_2 = "Element 1 du groupe de controle"
TextBox3_3 = "Element 1 du groupe de controle"
TextBox3_4 = "Element 1 du groupe de controle"
Merci beaucoup j'avais pensé ça avec une table temporaire mais c'est plus simple comme tu m'as expliqué je vais essayer ça. Merci beaucoup
je suis pas sur que tu ai des masses besoin d'un fichier ini.
Pour moi, un fichier ini n'est utile que pour garder des informations entre 2 lancement d'appli...
Des informations que l'on doit retrouver a chaque lancement.
Dans le cas present, moi je ovis les choses comme ca:
A l'ouverture de ton formulaire, tu enregistre tous tes champs dans un tampon (limite, tu peux faire un
apres, quand tu clique sur le bouton close, tu met tous tes champs dans une autre variable Tampon, et tu compare les 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dim Tampon As String Tampon = champ1.txt & champ2.txt & ....
Si TamponInitiale <> TamponFinale,
Il y'a des changements, donc j'ouvre la fenetre de sauvegarde et je sauvegarde normalement.
Sinon
Je fais rien
FinSi
je me rend compte que c'est super barbare comme methode...
Mais je pense qu'elle marche bien...
riesseg, je ne trouve pas trop pratique ta solution pour 2 raisons :
1 - si tu as un nombre tres impressionnant de champs ca risque de depasser la limite d'un string (qui doit etre de l'ordre de 256 caracteres).
2 - de tooutes les facon tu va le mettre dans un fichier a la fin, sinon comment va tu faire pour garder les donnes ??
la solution de Catbull est plus pratique, plus "propre" (bien que moi je pensais plustot a un fichier CSV, bon c'est pratiquement le meme typ donc ...).
erf...
limite a la fonction string ??
Sur que vu comme ca...
Apres, pour la sauvegarde dans un fichier, ca depend de Jik70...
Si il fait ca dans une bdd ou non...
Mais bon, j'admet que la soluce de Catbull est quand meme achement plus propre que la mienne ( qui est vraiment bourrin, je l'avoue )
je ne parle pas de la fonction string, mais plutot du type stringEnvoyé par riesseg
Rectificatif, erreur sur le nombre de caractere que peut prendre une variable de type string
Envoyé par Aide en ligne
Merci bien vos deux soluces sont interessantes :-)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager