Problème avec Ifmyfilexeist

la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015 - Modifié par la-foudre870 le 29/11/2015 à 19:44
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 1 déc. 2015 à 20:53
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2015 à 20:03
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 ?
0
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
29 nov. 2015 à 20:55
c'est du VB
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2015 à 21:00
Ah ?
Qui l'eût cru ?
Mais Quel VB ?
Pas du VB6, çà, c'est sûr ...
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
29 nov. 2015 à 23:17
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
0

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

Posez votre question
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
30 nov. 2015 à 06:05
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>
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 nov. 2015 à 11:37
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
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 nov. 2015 à 11:49
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

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 nov. 2015 à 11:59
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/
0
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
30 nov. 2015 à 18:55
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 nov. 2015 à 19:15
La foudre t'a probablement fait passer du verbe avoir au verbe être .... et être n'est pas avoir ....
0
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
Modifié par la-foudre870 le 1/12/2015 à 05:57
désolé j'ai honte ....
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 nov. 2015 à 21:15
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 ?
0
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
Modifié par la-foudre870 le 1/12/2015 à 05:56
Oui et non, en fait je voudrais avoir tous le chemin d'accès dans la variable
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
1 déc. 2015 à 10:13
la propriété Filename d'une boite de Dialogue SaveFileDialog contient le nom de fichier avec le chemin complet
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
1 déc. 2015 à 10:24
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" ?
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
1 déc. 2015 à 10:40
exact ucfoutu !
Je n'avais point vu
Bien le bonjour à toi
0
la-foudre870 Messages postés 18 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 25 décembre 2015
1 déc. 2015 à 20:19
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
1 déc. 2015 à 20:27
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 !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 1/12/2015 à 20:53
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.
0
Rejoignez-nous