CDTechStudio
Messages postés29Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 mai 2005
-
23 avril 2005 à 01:37
CDTechStudio
Messages postés29Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 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.
CDTechStudio
Messages postés29Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 mai 2005 23 avril 2005 à 23:50
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?
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 24 avril 2005 à 00:26
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.
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 25 avril 2005 à 02:33
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
CDTechStudio
Messages postés29Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 mai 2005 25 avril 2005 à 07:51
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:
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
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 25 avril 2005 à 18:33
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