Utiliser une variable d'une utilisation a l'autre

cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 18 janv. 2004 à 16:53
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 24 janv. 2004 à 19:30
Voila je m'explique plus clairement. Imaginons que l'utilisateur doivent entrer son nom d'utilisateur a chaque utilisation. Et qu'il peut choisir (dans une textbox) le nom qu'il veut.

Ou allez vous sauvegarder ce nom ? Il faut bien l'ecrire qqpart et comme il peut changer...

En fait ce que j'arrive pas a faire c'est conservé le nom (donc le contenu de la textebox) jusqu'a la prochaine utilisation.

Comment auriez-vous fait ?

Merci d'avance...

----------------
je rajoute :
En fait j'aimerais garder une variable meme lorsqu'on ferme le logiciel. Donc on tape un truc dans une textbox, on appui sur un bouton, on quitte et quand on revient, ce qu'on avait tapé et toujours là !

Lionel4 - noob

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 janv. 2004 à 17:02
Tu pourras trouver beaucoup de sources parlant de ce sujet sur ce site !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
18 janv. 2004 à 19:20
Il ya plusieurs méthode, utilisations d'un fichier, ou d'un fichier ini ou même de la Base de Registre!!

A mon sens la plus logique serait d'utiliser un fichier ini :

'Dans un Module
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
    "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
    lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString _
    As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
    "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
    lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias _
    "WritePrivateProfileSectionA" ( _
     ByVal lpAppName As String, _
     ByVal lpString As Any, _
     ByVal lpFileName As String) As Long

'Fonction pour lire une valeur dans un fichier INI
Function INIRead(Entete As String, Variable As String, Optional Fichier As String) As String    Fichier IIf(Fichier "", App.Path & "\\config.ini", Fichier)
    INIRead = String(255, Chr(0))
    INIRead = Left$(INIRead, GetPrivateProfileString(Entete, ByVal Variable, "", INIRead, Len(INIRead), Fichier))
End Function

'Fonction pour écrire une valeur dans un fichier INI
'La section spécifiée est créée automatiquement si elle n'existe pas déjà
Function INIWrite(Entete As String, Variable As String, Valeur As String, Optional Fichier As String) As String    Fichier IIf(Fichier "", App.Path & "\\config.ini", Fichier)
    EcrireINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function

'Fonction pour supprimer une valeur dans un fichier INI
Function INIDelete(Entete As String, Variable As String, Optional Fichier As String) As String    Fichier IIf(Fichier "", App.Path & "\\config.ini", Fichier)
    SupprINI = WritePrivateProfileString(Entete, Variable, 0&, Fichier)
End Function

'Fonction pour supprimer une section dans un fichier INI
Function INIDeleteSection(Entete As String, Optional Fichier As String) As String    Fichier IIf(Fichier "", App.Path & "\\config.ini", Fichier)
    SupprSectionINI = WritePrivateProfileSection(Entete, 0&, Fichier)
End Function

'dans la form
Private Sub Form_Load()
'lecture de text1memo au chargement
Text1 = INIRead("Config", "Text1memo")
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'ecritute de text1.text dans la variable Text1memo de l'entéte "Config" de Config.ini
INIWrite "Config", "Text1memo", Text1
End Sub


Mais tu peu aussi utiliser un fichier de type txt :

Private Sub Form_Load()
If Dir(App.Path & "/memo.txt") <> "" Then 'Si existe
    Open App.Path & "/memo.txt" For Input As #1 'Ouvre fichier en lecture
    Input #1, temp$ 'lit
    Close #1 'ferme le fichier
    Text1 = temp$ 'affiche la variable temp$ dans text1
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'Lors de la fermeture de la form
Open App.Path & "/memo.txt" For Output As #1 'ouvre fichier en ecriture
Write #1, Text1 'ecrit dans le fichier text1
Close #1 'ferme le fichier
End Sub


Enfin voila un moyen d'arriver a tes fins!!
0
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
19 janv. 2004 à 17:54
Dsl de faire court mais j'ai tapé un message hyper-long et ca a foiré alors chui vénèr...

J'aimerais savoir comment sauvegarder plusieurs variable dans un seul fichier ini du genre

Fichier INI :

[Nom d utilisateur] = Lionel4
[Password] = je vais quand meme pas te le dire !!! :D

Donc faudrait une ligne qui dise "cherche le mot [Nom d utilisateur] et prends la valeur qui y est assoié pour la mettre là"

:P

Merchi Pcpunch ;) et aussi DARKSIDIOUS :)

---------------------------------------------------------------------

Lionel4 - noob
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
19 janv. 2004 à 18:15
Oui c'est mon premiere exemple!! tu n'a qu'a placer le code dans un module et ensuite utiliser les 2 fonctions :
IniWrite : pour ecrire dans le fichier ini
IniRead : pour lire dans le fichier ini
0

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

Posez votre question
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
24 janv. 2004 à 19:30
Enfin je peux répondre ! Et pour cause, comme chui un noob, j'ai eu du mal à faire marcher ton code mais maintenant que j'y arrive je suis en extase. C'est le code parfait :o
Je pense que tu devrais mettre ce code en tant que source pcpunch parce qu'il est très utile est simple d'utilisation.

Je te remercie d'avoir pris le temps de me donner une réponse aussi complète. Merci encore.

Bye

Lionel4 - noob
0
Rejoignez-nous