Problème avec Ifmyfilexeist

Signaler
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
J'ai un problème avec un code
Je voudrais remplacer les chemins de la ligne de commande ("......") par une variable définie dans une autre form et je n'y arrive pas
Testeur est cette variable et normalement contient le chemin complet
Pourriez vous m'aider, merci d'avance
Imports System.IO

Public Class Form6
    Dim Testeur As String
    Private Sub SaveFileDialog1_FileOk(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
    End Sub
    Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If My.Computer.FileSystem.FileExists("Testeur") Then
            TextBox1.Text = Testeur
        Else
            TextBox1.Text = "FICHIER DE CONFIGURATION NON CREE"
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim myStream As System.IO.Stream
        Dim saveFileDialog1 As New SaveFileDialog()
        saveFileDialog1.FileName = "CONFIGURATION.TXT"
        saveFileDialog1.FilterIndex = 2
        If saveFileDialog1.ShowDialog() = DialogResult.OK Then myStream = saveFileDialog1.OpenFile()
        selectedFile = saveFileDialog1.FileName
        If (selectedFile IsNot Nothing) Then
            TextBox1.Text = selectedFile
        Else
            MsgBox("Le Fichier n'a pas été crée", MsgBoxStyle.Exclamation, "Fichier Non Créé")
        End If

    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Form3.Show()
        Me.Close()

    End Sub
End Class

17 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Le bout de code que tu montres ne saurait être du code VB6 (la section de ce forum dans laquelle tu as ouvert cette discussion) !
D'où vient ce bout de code ?
Sous quoi développes-tu ?
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

c'est du VB
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Ah ?
Qui l'eût cru ?
Mais Quel VB ?
Pas du VB6, çà, c'est sûr ...
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Bonjour
si testeur est la variable String qui contient le nom du fichier pourquoi la mets-tu entre guillemets ?
If My.Computer.FileSystem.FileExists("Testeur") Then


de plus le
Dim Testeur As String
ne s'applique qu'à la Form courante ! Si ton nom de fichier a été défini dans une autre Form cela ne fonctionnera point

Définis la variable Testeur dans un module en la mettant Public pour pouvoir y accéder depuis toutes les Forms de ton projet
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

j'ai mis effectivement les guillemet ne doivent pas être la c'etait juste pour que ça ressorte sur le visuel d'autre part j'ai bien mis la variable en public mais ce ne fonctionne pas non plus

<code basic>
Imports System.IO
Public Class Form6
Public Dim Testeur As String
Private Sub SaveFileDialog1_FileOk(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
End Sub
Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If My.Computer.FileSystem.FileExists(Testeur) Then
TextBox1.Text = Testeur
Else
TextBox1.Text = "FICHIER DE CONFIGURATION NON CREE"
End If
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim myStream As System.IO.Stream
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.FileName = "CONFIGURATION.TXT"
saveFileDialog1.FilterIndex = 2
If saveFileDialog1.ShowDialog() = DialogResult.OK Then myStream = saveFileDialog1.OpenFile()
selectedFile = saveFileDialog1.FileName
If (selectedFile IsNot Nothing) Then
TextBox1.Text = selectedFile
Else
MsgBox("Le Fichier n'a pas été crée", MsgBoxStyle.Exclamation, "Fichier Non Créé")
End If

End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Form3.Show()
Me.Close()

End Sub
End Class<code basic>
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
bonjour
Public Dim Testeur As String 


1) Inutile de mettre le Dim
2) Mets
Public Testeur As String
dans un module et non dans la Form ( voir ajouter un module dans l'onglet Projets de Visual Studio )

Tout ce qui est dans une Form n'est accessible que dans la Form alors que dans un module si la variable est déclarée Public elle est accessible par toutes les Forms du projet
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Autre chose
Au lieu de MsgBox utilise MessageBox.Show ( MsgBox est avec la compatiblité VB6 : à éviter en VB net )

Tu peux ôter cette compatibilté VB 6 en supprimant Microsoft VisualBasic Compatibility dans le menu réfèrences des propriétés du projet

De même dans le menu Compiler mets Option Strict et Option Explicit sur On : cela évitera toutes les erreurs de déclaration en VB net ainsi que les syntaxes erronnées

Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Encore moi
Button1 sert bien à enregistrer le fichier ?
Dans ce cas la procédure est fausse : où le fichier a-t-il été ouvert ou créé ?
un lien bien utile : http://plasserre.developpez.com/cours/vb-net/
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

Bonsoir VB95
Je ne comprend pas comment tu fais appel au module,
peu tu développer ?
Le fichier est bien existant et sauvegardé à partir du bouton 1 et s’inscrit bien dans la textbox mais si je retourne sur une autre form et que je reviens ensuite sur celle la je n'est plus la textbox
Merci
Module Module1
    Public testeur As String
End Module
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
La foudre t'a probablement fait passer du verbe avoir au verbe être .... et être n'est pas avoir ....
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

désolé j'ai honte ....
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Avec Button1_Click tu sauvegardes ton nom de fichier dans la TextBox ! Ca c'est OK !
et où tu remplis la variable Testeur avec ce nom de fichier ?
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

Oui et non, en fait je voudrais avoir tous le chemin d'accès dans la variable
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
la propriété Filename d'une boite de Dialogue SaveFileDialog contient le nom de fichier avec le chemin complet
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
cette procédure :
Private Sub SaveFileDialog1_FileOk(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
End Sub

n'exécute aucune instruction. Je suppose qu'elle est là pour le "fun" ?
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
exact ucfoutu !
Je n'avais point vu
Bien le bonjour à toi
Messages postés
18
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
25 décembre 2015

Effectivement j'avais essayé un truc mais cela ne fonctionnais pas donc je l'ai supprimé depuis, mais je n'ai toujours pas de solution à mon problème comment utiliser la variable TESTEUR dans
If My.Computer.FileSystem.FileExists
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Et bien sûr, la-foudre870, il ne te viendrait pas à l'idée que c'est cette procédure évènementielle, que tu dois utiliser ?
C'est étrange, car c'est la 1ère chose qui vient à mon esprit, alors que je ne connais rien de VB.Net !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Pour essayer d'être au moins un peu sérieux :
- Si tu veux retrouver facilement si un fichier a été créé, c'est dans le dossier de ton appli, ou dans un dossier relatif à ton appli, qu'il te faut le créer
- tes instructions (au chargement de ton form) de vérification d'existence de ce fichier doivent "regarder" précisément dans ce dossier-là, tout simplement.
Le dossier de ton appli est Application.StartupPath (ouvre MSDN à cette rubrique)
Le nom de ton fichier doit être connu lors du chargement de ton Form (une simple constante fera l'affaire). Idem en ce qui concerne celui du sous-dossier relatif éventuellement utilisé.
Tu as là les bases de ce que tu dois faire.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.