Enregistrer textbox

Résolu
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007 - 10 nov. 2007 à 00:27
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 14 nov. 2007 à 07:33
Hello


J’ai trouvé beaucoup d’exemple sur le forum, mais je n’arrive pas à faire ce que je veux.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 





 Je veux que le contenue de 3 textbox soient enregistrée dans un fichier txt qui est créé en même temps que je clique sur un bouton « sauver ».


Quand je lance mon programme que les nouvelles valeurs soient récupérées et placés dans mes 3 textbox et que je puisse réenregistrer des nouvelles valeurs qui vont remplacer les anciennes.


Merci de m’aider.

18 réponses

Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
10 nov. 2007 à 01:06
Sauvegarde :
Dim Fn As Long

Fn = FreeFile
Open "Fichier.txt" For Output As #Fn
Print #Fn, textbox1.Text & vbCrLf & txtbox2.Text & vbCrLf & txtbox3.Text
Close #Fn

Lecture :
Dim Fn As Long
Open "Fichier.txt" For Input As #Fn
Line Input #Fn,textbox1.Text
Line Input #Fn,textbox2.Text
Line Input #Fn,textbox3.Text
Close #Fn
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 nov. 2007 à 02:09
Salut
Oui, il est possible qu'on n'ait pas le droit d'affecter directement un objet avec "Line Input #"
   Line Input #Fn, sTemp
   textbox1.Text = sTemp

Pour l'écriture du fichier, bien que cela ne change rien au résultat, j'opterais pour cette syntaxe plus claire :
   Print #Fn, txtbox1.Text
   Print #Fn, txtbox2.Text
   Print #Fn, txtbox3.Text
au lieu de l'écriture en ligne unique qui oblige à ajouter soi-même des retours.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 21:28
Af_Cis.SetIniSettings et
Af_Cis.GetIniSettings sont les seules méthodes il me semble donc oui c'est un possibilité, mais pas à la suite : çà n'a absolument aucun intérêt
autre possibilité : par exemple sauvegarder le contenu de tes zones 4 et 5 dans des VARIABLES au moment où elles sont comme tu les veux à l'ouverture, et faire juste Text4.text variable1 et Text5.text variable2 au form_unload juste avant l'appel Af_Cis.SetIniSettings

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 01:38
Merci Kristof_Koder<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>









Désolé je débute vraiment.












J’ai un message d’erreur :










Erreur de compilation:







Variable requise.impossible de l'affecter à cette expression







 





Line Input #Fn, Text1.Text
0

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

Posez votre question
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
10 nov. 2007 à 02:14
Effectivement ! vu l'heure qu'il est, j'ai mes deux neurones qui font des scoubidous !!
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 02:54
Erreur d'execution '52':
Nom ou numéro de fichier incorrect

Open "Fichier.txt" For Input As #Fn


Voila le bout de code:


'Lecture:
Dim Fn As Long
Dim sTemp, sTemp2, sTemp3
Open "Fichier.txt" For Input As #Fn
Line Input #Fn, sTemp
Text1.Text = sTemp
Line Input #Fn, sTemp2
Text2.Text = sTemp2
Line Input #Fn, sTemp3
Text3.Text = sTemp3
Close #Fn


Dsl de vous enbèter avec ca
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 10:05
salut,

ou plus simplement tu peux utiliser cette source
++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 10:27
Merci Monsieur PCPT



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Je voudrais bien comprendre mon erreur quand même ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 10:41
l'erreur est dûe à fn qui est à 0, il manque fn=freefile
(qui est d'ailleurs un integer, pas un long)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 11:10
Merci beaucoup
Arfff encore une erreur

Private Sub Form_Load()
'Lecture:
Dim Fn As Integer
Dim sTemp, sTemp2, sTemp3
Fn = FreeFile
Open "Fichier.txt" For Input As #Fn
Line Input #Fn, sTemp
Text1.Text = sTemp
Line Input #Fn, sTemp2
Text2.Text = sTemp2
Line Input #Fn, sTemp3
Text3.Text = sTemp3
Close #Fn
End Sub

erreur d'execution '62':
l'entrée dépasse la fin de fichier

Line Input #Fn, sTemp

Private Sub Form_Unload(Cancel As Integer)
'Sauvegarde:
Dim Fn As Integer
Fn = FreeFile
Open "Fichier.txt" For Output As #Fn
Print #Fn, Text1.Text & vbCrLf & Text2.Text & vbCrLf & Text3.Text
Close #Fn
End Sub

avec votre contrôle

erreur de compilation:
Variable non définie

Af_Cis.SetIniSettings
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 11:33
euh..... y'a une source hein ^^
faut pas juste copier les 2 lignes mais poser le composant (la source) sur ta form et le nommer "Af_Cis"

heureusement qu'il y a un exemple fourni

et évidemment le but du control est de ne pas avoir tout le reste du code à saisir...
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 21:12
Oups.
Merci C’est ok.
Monsieur PCPT  peut on exclure la  sauvegarde d’un ou plusieurs contrôles ?
Sauver les textbox 1, 2 et 3 mais pas les 5 et 6.

Je veux enregistrer les modifications et les recharger par un clique sur un bouton.
Private Sub Command1_Click()
Af_Cis.SetIniSettings
Af_Cis.GetIniSettings
End Sub
Ca marche mais est ce la solution ?
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
10 nov. 2007 à 21:58
Ok je croix que j'ai compris

' Déclaration de variables
Dim Temp1 As Integer
Dim Temp2 As Integer

Dans ma sub form load
Temp1 = Text5.Text
Temp2 = Text6.Text

Dans ma sub form unload
Text5.Text = Temp1
Text6.Text = Temp2

Monsieur PCPT peut on revenir a mon probleme please? poste du 10/11/2007 11:10:03.
suite a mon message d'erreur, je veux comprendre.


 
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 22:11
ton fichier ne devait pas contenir de ligne

s'il n'existait pas tu aurais l'erreur 52 donc là c'est juste qu'il est vide (puisqu'erreur sur le premier line input)
++
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 nov. 2007 à 15:06
Ça ne répond peut-être pas à ta question, mais je te suggères de mettre un chemin à ton fichier... quelque chose comme App.Path, si tu es sous VB6

Open App.Path & "\Fichier.txt" For Output As #Fn

MPi²
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
14 nov. 2007 à 00:35
Hello
Si j’ai bien compris Fn représente le non du fichier "FileName"
Peut on m’expliquer pourquoi Fn = FreeFile ?
Que représente FreeFile ?
Que représente # dans "Open App.Path & "\Fichier.txt" For Output As #Fn" ?<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>Merci
Hanns
0
cs_HANNS Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 14 novembre 2007
14 nov. 2007 à 00:55
Bon pour FreeFile, après recherche voila ce que j’ai trouvé :




La fonction FREEFILE demande a Windows d'attribuer une adresse mémoire libre en fonction des ressources en cours d'utilisation. Elle permet donc d'éviter tout risque de tenter de travailler à une adresse déjà allouée, ce qui dans ce cas génère un conflit.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 nov. 2007 à 07:33
n'hésite pas à utiliser le touche [F1]

et tu as aussi une FAQ à ta dispo
http://www.vbfrance.com/doc/faq.aspx#vb_fichier

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous