Executer une sauvegarde de TXT BOX lors de fermerture d'une FORM

Résolu
JeanLouisBzh - 12 juin 2013 à 14:37
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 13 juin 2013 à 20:04
Bonjour, tout est dans la description du message, je voudrais exécuter une sauvegarde d'une text box lors de la fermeture d'une FORM, je m'explique...
J'ai une programme qui recueil des valeurs dans ma Form1(text box) et dans un menu(dans Form1) j'ouvre ma Form2 et je peux y voir ce que j'ai tapé. MAIS (évidemment ^^ sinon je ne serais pas là) lorsque je ferme ma Form2 puis que je la ré-ouvre, la text box est vide... Quelqu'un peut il m'aider et me dire quelle fonction entre en scène lorsque l'on appui sur la croix rouge pour fermer?

Merci !

13 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2013 à 16:31
Bien évidemment, qu'il sera effacé ! Le contenu des variables de VB6 est perdu à la fermeture.
Il te faut nécessairement ;
- soit l'inscrire dans un fichier texte (comme dit) et l'y relire
- soit l'inscrire dans la base de registre (ouvre donc ton aide VB6 sur les mots SaveSetting et GerSetting. Ces deux rubriques sont de surcroît accompagnées d'un exemple...).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2013 à 14:52
Bonjour,
et me dire quelle fonction entre en scène lorsque l'on appui sur la croix rouge pour fermer?

si c'est ta question : la réponse est :
AUCUNE "fonction".
Un évènement est alors déclenché. Il a pour nom : Unload et intervient après l'évènement QueryUnload et juste avant l'évènement Terminate.
Ton aide VB6 à ouvrir sur chacun ders mots que j'ai souligné.

La première partie de ton exposé laisse cependant deviner que ta véritable question n'a pas été posée !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
JeanLouisBzh
12 juin 2013 à 15:09
Merci pour la réponse, je vais utiliser Unload.
La question est celle de l'énoncé du problème mais pour ne pas déranger de trop et pour chercher tout seul il me fallait un début (le Unload). Je suppose qu'il faut mettre le Unload dans la Form qui convient?
Voici un bout de mon code :
Private Sub Form_Unload(Cancel As Integer)
Dim Historique_entier
Historique_entier = TXT_TOUT.Text 'TXT Box à enregistrer avant la fermeture car ce qui est
'dedans est automatiquement supprimé lors de la fermeture
End Sub
Private Sub Form_Load()
TXT_TOUT.Text = Historique_entier 'Renvoi de l'ancien TXT Box 
End Sub


Qu'en penses-tu?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2013 à 16:15
Te reste plus qu'à écrire Historique_entier dans un fichier texte à la fermeture et à le lire à l'ouverture.
Ce forum regorge d'exemples (codes et discussions), concernant la lecture et l'écriture de fichier texte.
Au passage :
Dim Historique_entier As string


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JeanLouisBzh
12 juin 2013 à 16:27
Historique_entier sera effacé si je laisse le texte ainsi?
Private Sub Form_Load()
TXT_TOUT.Text = Historique_entier 'Renvoi de l'ancien TXT Box 
End Sub


Car ici à l'ouverture je renvoi Historique_entier dans ma txt box : TXT_TOUT.Text

Merci encore ucfoutu
0
JeanLouisBzh
12 juin 2013 à 16:38
Ok merci beaucoup !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2013 à 16:40
Pour être très clair :
Le contenu de la totalité des variables est perdu à la fermeture d'une appli
Si, par contre, tu ne ferme pas l'appli, tu peux récupérer le contenu d'une variable d'un Form, même en le fermant, comme tu le fais, mais à condition que cette variable soit déclarée publique. Mais alors : autant se contenter de cacher (Hide) le Form plutôt que le décharger et le remontrer (show) à la demande !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
JeanLouisBzh
12 juin 2013 à 16:53
Mais si on utilise le "Hide" il ne faudra plus appuyer sur la croix rouge en haut à droite. A moins que l'on puisse dire à VB que lorsqu'on appuie sur la croix il doit faire "Hide"?

Quand tu dis déclaré en public tu parles du Public sub Form de la première feuille je suppose.
0
Moi j'ai une autre méthode plus simple et qui marche
voilà un exemple:


Etape 1: va dans le propriétés de ton projet, va dans paramètres, ajoute un paramètre et nomme-le "T1" (ou autre) , c'est une string

Etape 2:
Le code pour le bouton sauvegarder:
My.Settings.t1 = TextBox1.Text

        My.Settings.Save()


Etape 3:
le code pour la form(quand la form se charge):
TextBox1.Text = My.Settings.t1


Bonne chance pour la suite

JS,Ink
0
Si tu utilise visual basic 6 je ne pense pas que ca marchera

JS,Ink
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2013 à 19:33
Si tu utilise visual basic 6 je ne pense pas que ca marchera

Ah ...
Et que crois-tu qu'il "utilise", s'il ouvre sa discussion dans la section :
Forum > Visual Basic 6

L'équivalent en VB6 lui a été indiqué plus haut, non ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mais se toute facon il y a que visual basic 6 sur ce site
PS: j'ai résolu mon problème sur les progressbar
JS,Ink
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 juin 2013 à 20:04
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous