AIDER MOI :( [Résolu]

Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
- - Dernière réponse : CDTechStudio
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
- 26 avril 2005 à 23:02
Salut j'ai un problème ici

Tout mon système regkey marche sauf une chose:

Quand jouvre une image dans mon PictureBox sa enregistre le chemin du fichier ouvert dans le regedit soit example(c:/image.jpg) mais je ne trouve pas de moyen de faire un GetValue pour que quand jouvre le programme de nouveau l'image souvre dans le PictureBox.

CDTech Studio
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
3
Merci
Merci bcp de ta patience et de ton aide chère ami! Vraiment gentil!

CDTech Studio

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 205 internautes nous ont dit merci ce mois-ci

Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
0
Merci
Lut,
Chemin = GetSetting(app.Name, Section, Key, Default)

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
Hey merci mais ya un ti problème «:P :

(app.Name, Section, Key, Default) => ? tu peut mexpliquer un peut quoi y mettre? pcq la.. jvois pas.. Sa ne me dit pas grand chose ces mots.. :S J'ai une ider de app.Name maisjene suispas surdutout tu vois et pour le reste sa ne me dit rien :P

Et.. cette ligne complète va faire en sorte que limage qui va ouvrir dans mon PictureBox va etre celle du path dans le regedit?

CDTech Studio
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
0
Merci
Vi,
Quand tu enregistres dans ta base de registre tu emploi SetSetting non ? donc là tu fais l'inverse.
app.name tu n'y touches pas. Dans la BDR tu as des sections ex: "Options" et une clé ex: "Chemin picture" et en fin la valeur default appliqué par défaut si la clé n'est pas trouvée dans la base de registre.

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
Mmmm moi jutilise SetValue, sa doit etre pour sa que sa ne marchait pas?


RegEdit.SetValue("DisplayImagePath",
Me.MonImageChange)

CDTech Studio
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
0
Merci
té sous .Net ?

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
oui

CDTech Studio
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
oué, .net 2003

CDTech Studio
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
0
Merci
Setsetting et GetSetting sont reconnus sous .Net
Sinon Voila une classe qui te permet d'écrire et de lire dans la BDR mais pas dans la section VB VBA comme get et setsetting

Dans ta feuille tu déclares comme ci dessous si tu veuxque la section se nome "options"

Public
Class Form1

Dim Config
As
New LireEcrireREG("Software" + Application.ProductName + "\Options" + "")
_____________________________________________________________________
Pour enregistrer une valeur c'est
Config.regSetValue("Chemin Photo", "C:\toto\Maphoto.bmp")



Pour lire une valeur c'est
Dim c
As
String = ""

c = Config.regGetValue(Key, "")



_______________________________________________________________________________
Imports System

Imports Microsoft

Imports Microsoft.Win32


Public
Class LireEcrireREG

'~~~~ Cette classe permet de lire écrire une clé dans la base de registre


Private KeyKey
As
String = "Software" + Application.ProductName + ""



Public
Sub
New(
ByVal Root
As
String)
KeyKey = Root

End
Sub



' récupère la valeur de la proprété Name au chemin Key (HKEY_CURRENT_USER)



Public
Function regGetValue(
ByVal Name
As
String,
Optional
ByVal DefaultValue
As
String = "")
As
String



Try



Dim RegKey
As RegistryKey
RegKey = Registry.CurrentUser.OpenSubKey(KeyKey,
False)

If
Not RegKey
Is
Nothing
Then
Dim Valeur
As
String =
CType(RegKey.GetValue(Name, DefaultValue),
String)
RegKey.Close()

Return Valeur

Else
Return DefaultValue

End
If



Catch
Return DefaultValue

End
Try
End
Function



' inscrit la valeur Value dans la propriété Name au chemin Key (HKEY_CURRENT_USER)



Public
Function regSetValue(
ByVal Name
As
String,
ByVal Value
As
String)
As
Boolean



Try
Dim RegKey
As RegistryKey
RegKey = Registry.CurrentUser.OpenSubKey(KeyKey,
True)

If RegKey
Is
Nothing
Then RegKey = Registry.CurrentUser.CreateSubKey(KeyKey)

If
Not RegKey
Is
Nothing
Then
RegKey.SetValue(Name, Value)
RegKey.Close()

Return
True



Else
Return
False
End
If
Catch
Return
False
End
Try
End
Function



Public
Function regDelKey(
ByVal Section
As
String)
As
Boolean



Try
Registry.CurrentUser.DeleteSubKey(Section,
True)

Return
True
Catch
Return
False
End
Try



End
Function


End
Class

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
La la je ne comprend vraiment pas et jen suis vraiment désolé

Dim Config
As
New LireEcrireREG("Software" + Application.ProductName + "\Options" + "")

Sa ne fonctionne pas il me le souligne comme erreur

RegGetValue aussi est souligner..

Pourquoi je n'est pas c'est valeur dans mon sousmenu qui ouvre lorsque je met un . par example

CDTech Studio
Messages postés
29
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 mai 2005
0
Merci
En gros, vue que le premier user a ouvrir le prog a jamais écrit dans le registre, sa ouvre le dialog pour choisir la photo du display. Il la choisi puit sa marque le Path comme jai dit plus haut dans le registre (c:\fwf\qwefqwef.jpg). Moi je veut que quand la personne réouvre le programme, la photo ce lise dans le registre et souvre. Mais tes ligne de code ne marche pas avec mon Vb.Net 2003 et je ne comprend pas pourquoi. Moi tout ce que jai ces setvalue et getvalue. Merci bcp de ta patience chère ami, je t'admire.
Si cela peut taider voici la parti du code:


Dim DisplayPathSave
As
String

<HR>


Public
Function RegDisplayPicture()



If RegEdit.GetValue("DisplayImagePath") = ""
Then



Me.OpenFileDialogImageDisplay.ShowDialog()



Me.DisplayPathSave =
Me.OpenFileDialogImageDisplay.FileName


RegEdit.SetValue("DisplayImagePath",
Me.DisplayPathSave)



Else


'ici j'aimerais aouter la ligne qui lit mon image dans mon PictureDisplay quand lutilisateur ouvre le prog
Application.DoEvents()



End
If



End
Function

<HR>



Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



'Création du dossier dans le registre


RegEdit = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("SOFTWARE\\LonghornSideBar\\DisplayPicture")


RegDisplayPicture()



Me.TimerUptime.Start()


FadeIn()



Me.LabelDate.Text = Now.Date.ToLongDateString



Me.LabelOS.Text = Environment.OSVersion.ToString()



Me.LabelVersion.Text = Environment.Version.ToString() & " / " & Environment.Version.Build



Me.LabelMachineName.Text = Environment.MachineName



Me.LabelUsername.Text = Environment.UserName



End
Sub
<HR>



Private
Sub OpenFileDialogImageDisplay_FileOk(
ByVal sender
As System.Object,
ByVal e
As System.ComponentModel.CancelEventArgs)
Handles OpenFileDialogImageDisplay.FileOk



'Indique que MonImage est l'image que opendialog va ouvrir


MonImage =
New Bitmap(
Me.OpenFileDialogImageDisplay.FileName)



'Ouvre l'image



Me.PictureDisplay.Image = MonImage



'Inscrit dans le registre le nouveau path a chaque changement d'image



Me.MonImageChange =
Me.OpenFileDialogImageDisplay.FileName


RegEdit.SetValue("DisplayImagePath",
Me.MonImageChange)



End
Sub

<HR>

Private
Sub PictureDisplay_DoubleClick(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles PictureDisplay.DoubleClick



Me.OpenFileDialogImageDisplay.ShowDialog()



End
Sub

<HR>

CDTech Studio
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
3
0
Merci
Re,

Cette classe fonctionnes bien t'as pas du la mettre là ou il falait mais pas grave
Tout est bon je pense seulement tu ne faisais pas l'appel pour le chargement dans formLoad
Donc chages les lignes en rouge

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'Création du dossier dans le registre

RegEdit = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("SOFTWARE\\LonghornSideBar\\DisplayPicture")


Me.PictureDisplay.Image = New Bitmap(
RegDisplayPicture())

Me.TimerUptime.Start()

FadeIn()

Me.LabelDate.Text = Now.Date.ToLongDateString

Me.LabelOS.Text = Environment.OSVersion.ToString()

Me.LabelVersion.Text = Environment.Version.ToString() & " / " & Environment.Version.Build

Me.LabelMachineName.Text = Environment.MachineName

Me.LabelUsername.Text = Environment.UserName


End Sub


Public
Function RegDisplayPicture()

If RegEdit.GetValue("DisplayImagePath") = ""
Then
Me.OpenFileDialogImageDisplay.ShowDialog()

Me.DisplayPathSave =
Me.OpenFileDialogImageDisplay.FileName
RegEdit.SetValue("DisplayImagePath",
Me.DisplayPathSave)

Else
Return RegEdit.GetValue("DisplayImagePath")
End
If
End
Function

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé