IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

OpenfileDialog, PictureBox, Save ?


Sujet :

VB.NET

  1. #1
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut OpenfileDialog, PictureBox, Save ?
    Bonjour ou Bonsoir,


    Sur mon programme j'aimerais implanter la fonctionnalité suivante :


    On créer un bouton Parcourir (avec Openfiledialog) on choisi l'image qu'on veux, elle apparait dans une picturebox, et enregistrement de l'image sélectionnée dans la picturebox pour qu'à la connexion du compte, l'image qu'on a enregistrée apparaisse.

    J'ai déjà fais :

    -Le bouton Parcourir
    -L’apparition de l'image dans la PictureBox

    Il me manque plus que l'enregistrement de l'image mais je ne vois pas trop comment faire, je ne veux pas de code tout fait, j'aimerais juste un peu d'aide pour parvenir au résultat attendu .

    Merci, Cordialement

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 93
    Par défaut
    A la racine de ton projet tu peux créer un fichier setting.conf ou setting.txt et des mettres des valeurs qui t'interesse.
    Soi tu enregistres son image sur son pc (en gros une copie).
    Soi tu peux enregistrer le chemin de l'image (moins couteux mais si y a plus l'image tu as plus non plus).
    Soi si tu as un serveur pour l'application via un système de base de donnée chaque profil a une image enregistrer, meme par FTP et chaque personne a une Id Image en quelque sorte.

  3. #3
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Comment je peux faire pour enregistrer le chemin de l'image du PC de l'utilisateur ?

    EDIT : J'ai finalement "Réussi". J'ai fais comme cela :

    Lorsque la personne va sélectionner son image avec l'openfiledialog, le programme va écrire le chemin de l'image dans un label, ensuite il va écrire le chemin dans la BDD et ensuite, dans un timer, la picturebox va récupérer l'url de l'image grâce au label qui possède le chemin de l'image. (Le label lit ce qu'il y a d'écrit dans la colone AvatarPerso (donc le chemin))

    Il y a un problème. Quand il écrit le chemin de l'image dans la BDD il ne met pas les slash, pourquoi ?

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par mathisdu42 Voir le message
    Comment je peux faire pour enregistrer le chemin de l'image du PC de l'utilisateur ?
    Sauf horreur de ma part, tu peux le connaître à partir des propriétés de la boîte de dialogue. (J'ai oublié laquelle.) Pour l'enregistrement comme tel, cela dépend plus du type de fichier de sauvegarde que tu veux utiliser.


    Citation Envoyé par mathisdu42 Voir le message
    Il y a un problème. Quand il écrit le chemin de l'image dans la BDD il ne met pas les slash, pourquoi ?
    Suite au "télescopage", je dirais que c'est assez courant que le Framework ne fournisse pas la dernière barre. Cependant, rien ne t'empêche de tester si la barre est là et de l'ajouter ai besoin.

    Disons que ton chemin d'accès est dans la variable chemin et qu'il est renseigné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not chemin.endswith("\") then
        chemin = string.concat(chemin,"\")
    end if

  5. #5
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Merci de m'avoir répondu clementmarcotte.

    Oui mais ce n'est pas seulement la dernière barre qui n'apparait pas mais toutes !

    Ex : Au lieu que ça me donne ça : C:\Users\Jean\Desktop\test.png\

    ça me donne : C:UsersJeanDesktoptest.png (Dans la colonne de ma BDD)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut RE
    Bonjour,
    Peut-être comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim nomFichier As String
            Dim resultFich As DialogResult = OpenFileDialog1.ShowDialog()
            If (resultFich = DialogResult.OK) Then
                nomFichier = OpenFileDialog1.FileName
                Label1.Text = nomFichier
            Else : Exit Sub
            End If
        End Sub
    Puis comme te l'a indiqué Kangourex tu peux enregistrer le chemin dans un fichier ou enregistrer l'image.

    Cordialement.

  7. #7
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Salut, oui je l'ai déjà fait ça, mon problème c'est que ça n'écrit pas les slash "\" dans le label

    EDIT : Finalement ça l'écrit mais ça ne l'écrit pas dans la BDD

  8. #8
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut RE
    Citation Envoyé par mathisdu42 Voir le message
    Salut, oui je l'ai déjà fait ça, mon problème c'est que ça n'écrit pas les slash "\" dans le label

    EDIT : Finalement ça l'écrit mais ça ne l'écrit pas dans la BDD
    Curieux, sur mon pc cela fonctionne sur version Visual Studio 2010 – 2013 et 2015.
    Je pense que ton problème est ailleurs.
    Cordialement.

  9. #9
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par DD-78 Voir le message
    Curieux, sur mon pc cela fonctionne sur version Visual Studio 2010 – 2013 et 2015.
    Je pense que ton problème est ailleurs.
    Cordialement.
    Pour écrire dans la colonne j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim MySqlConnection27 As New MySqlConnection
                        MySqlConnection27.ConnectionString = "server=mysql-ya42800.alwaysdata.net;Port=3306; userid=****; password=****; database=ya42800_sqllogin;"
                        Dim reader27 As MySqlDataReader
                        Dim command27 As New MySqlCommand
                        Try
                            MySqlConnection27.Open()
                            Dim query27 As String
                            query27 = "UPDATE ya42800_sqllogin.login SET username='" & Form4.MaterialSingleLineTextField1.Text & "',AvatarPerso='" & Form4.Label7.Text & "' WHERE username='" & Form4.MaterialSingleLineTextField1.Text & "'"
                            command27 = New MySqlCommand(query27, MySqlConnection27)
                            reader27 = command27.ExecuteReader
     
     
     
                        Catch ex As Exception
                            MessageBox.Show(ex.Message)
                        Finally
                            MySqlConnection26.Dispose()
                        End Try
    C'est vraiment bizarre, c'est seulement les \ qui ne s'écrivent pas dans la BDD ...

  10. #10
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut RE
    Bonsoir,

    Je ne connais pas très bien Sql, mais avant de communiquer avec Sql vérifie que ta chaine
    de caractères comporte bien le signe \.

    Si c’est le cas, il s’agit peut-être un problème de typage de données dans ta base Sql.

    http://www.yevol.com/sqlserver/Lesson05.htm

    Cordialement.

  11. #11
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Communique avec ta DB de manière propre (cad. en utilisant des requêtes paramétrées) et tu n'auras plus de problème.

  12. #12
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    En MySQL l'antislash est un caractère d'échappement.
    C'est à dire qu'on l'utilise pour insérer un caractère spéciale, tel l'antislash....

    Donc pour insérer une chaîne de caractère avec des antislash, il faut échappés ceux ci avec un antislash...

    Donc il faut les doubler, avec un Replace("\","\\"), ce qui donnera :

    C:\\Doc\\tutu, et là, ça fonctionnera.


    (Je sens que ça va pas aider à la réputation de MySQL, lol)

    Edit : Il permet également, par exemple d'insérer une simple côte ' sans "casser" la requête à insérer, car les côtes servent à baliser une chaîne de caractères dans un champs.

    Edit2 : Evidemment, la réponse de Kropernic est LA bonne... Avec les requêtes paramétrés, plus de construction de requête à l'ancienne, donc pas de risque de "casser" une requêtes avec des caractères spéciaux. Mais pour corriger à la main, si on souhaite écrire ses requête à la main, à l'ancienne, il faut bien échapper les caractères spéciaux.

  13. #13
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par mactwist69 Voir le message

    Edit : Il permet également, par exemple d'insérer une simple côte ' sans "casser" la requête à insérer, car les côtes servent à baliser une chaîne de caractères dans un champs.
    Je vais p-e dire une connerie car j'évite mysql comme la peste donc ça fait longtemps que je ne l'ai plus utilisé mais il me semble que pour les chaines de caractères, c'est un peu au choix les délimiteurs. Soit l'apostrophe, soit le guillemet. Soit carrément rien du tout parfois.

    Bref, à force de vouloir faciliter la vie des utilisateurs, c'est un peu le bordel (comme php qui autorise l'apostrophe ou le guillemet comme délimiteur...)

  14. #14
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    On peut effectivement choisir son caractère d'échappement, mais par défaut je crois bien que c'est l'antislash.

    Le problème soulevé ici confirmerai bien cet état.

  15. #15
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    On peut effectivement choisir son caractère d'échappement, mais par défaut je crois bien que c'est l'antislash.

    Le problème soulevé ici confirmerai bien cet état.
    Je faisais uniquement référence à la ' pour "casser" la requête. Je ne remettais pas en cause l'antislash comme caractère d'échappement (par défaut ou non).

  16. #16
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Ah j'avais mal compris, en effet, tu as peut être raison sur les côtes et les doubles côtes (terme technique exacte).

    On utilisait MySQL dans mon ancienne boite, c'est un peu flou maintenant.

  17. #17
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Communique avec ta DB de manière propre (cad. en utilisant des requêtes paramétrées) et tu n'auras plus de problème.
    Salut Kropernic !

    En effet, j'aimerais bien communiquer avec la BD de manière propre mais je rappelle que je suis vraiment débutant en Mysql...
    Tu me dis d'utiliser des requêtes paramétrées mais je vois pas trop comment faire :/

  18. #18
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Hello,

    Plus d'info ici

  19. #19
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Hello,

    Plus d'info ici
    Salut,

    Oui c'est sûr que google est mon ami mais le truc c'est qu'il y a pleins de chose différentes comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String com = "SELECT * FROM x_artiste WHERE lower(nom) = ?artiste"; 
                com.Parameters.Add("?artiste", Artiste);
    Bon ici c'est un SELECT, moi un UPDATE, se que je comprend pas c'est le "?artiste" et le ("?artiste", Artiste) , pourquoi on fait ça et à quoi ça sert ?

  20. #20
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    lis donc ceci... les exemples sont en C#, mais quand bien même, le cours explique tout

    http://webman.developpez.com/article...ameter/csharp/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débutant] Sauvegarde image PictureBox avec Image.Save
    Par sergelagier dans le forum Windows Forms
    Réponses: 9
    Dernier message: 09/05/2013, 18h50
  2. PictureBox - Drawing - Save
    Par ibiseb dans le forum C#
    Réponses: 0
    Dernier message: 09/02/2012, 15h47
  3. Réponses: 1
    Dernier message: 05/06/2009, 10h05
  4. [VB6] [Graphisme] Arc de cercle dans un picturebox
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 04/11/2002, 17h55
  5. Algo carry save adder
    Par bashou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 18/10/2002, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo