KIPRE74
Messages postés120Date d'inscriptionjeudi 15 mai 2008StatutMembreDernière intervention21 novembre 2013
-
20 août 2008 à 16:05
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 2012
-
21 août 2008 à 12:02
Bonjour,
J'ai un datagrid que j'essaie d'enregitrersous un nom fichier.xml. j'y arrive le problème je n'arrive pas à ouvrir le fichier ainsi créé, je reçois le message d'erreur "La page XML ne peut pas être affichée";
Voici mon code :
'Code de la fonction enregistrer
Private Function Enregistrer(ByVal wFichier As String) As Boolean 'La fonction Enregistrer prend en paramètre
'le nom du fichier à enregistrer et y place le contenu de la zone de saisie. Si le fichier existe déjà
'il est remplacé, sinon il est créé
Dim wFile As System.IO.StreamWriter
Try
wFile = New System.IO.StreamWriter(wFichier)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
Return False
End Try
Try
wFile.Write(dgGrid.Text)
Catch ex As Exception
wFile.Close()
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
Return False
End Try
wFile.Close()
End Function
'Code de la fonction EnregistrerSous. Cette fonction ouvre une boite de dialogue
Private Function EnregistrerSous() As Boolean
Dim wSaveFileDialog As New SaveFileDialog()
Dim wFlag As Boolean
wSaveFileDialog.FileName = pFichierEnCours
wSaveFileDialog.Filter = "Fichiers Xml(Xml)|*.xml|Tous les fichiers|*.*"
If wSaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 20123 20 août 2008 à 17:49
Salut ,
pourquoi faire deux try ? Et puis, le créer avant ce serait mieux
'Code de la fonction enregistrer
PrivateFunction Enregistrer(ByVal wFichier As String) As Boolean'La fonction Enregistrer prend en paramètre
'le nom du fichier à enregistrer et y place le contenu de la zone de saisie. Si le fichier existe déjà
'il est remplacé, sinon il est créé
Dim LeFichierFinal AsNew IO.FileInfo(wFichier)
Not LeFichierFinal.Exists Then'On crée le fichier si il n'existe pas
Dim Resultat As System.IO.FileStream
Resultat = LeFichierFinal.Create
Resultat.Close()
If
Dim wFile AsNew IO.StreamWriter(wFichier)
Try
wFile.Write(dgGrid.Text)
Catch ex As Exception
wFile.Close()
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
ReturnFalse
EndTry
wFile.Close()
ReturnTrue
End Function
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 20123 21 août 2008 à 12:02
Essaye aussi ça, mais ça ne devrait rien changer ...
'Code de la fonction EnregistrerSous. Cette fonction ouvre une boite de dialogue
Private Function EnregistrerSous() As Boolean
Dim wSaveFileDialog As New SaveFileDialog()
Dim wFlag As Boolean = False 'On sait jamais
wSaveFileDialog.FileName = pFichierEnCours 'Est-il bien définit avant l'utilisation ?
wSaveFileDialog.Filter = "Fichiers Xml (*.Xml)|*.xml|Tous les fichiers|*.*"
If wSaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
wFlag = Enregistrer(wSaveFileDialog.FileName)
pFichierEnCours = wSaveFileDialog.FileName
'Si tu veux ne changer pFichier que si ça enregistre fait:
'If wFlag Then pFichierEnCours = wSaveFileDialog.FileName
'au lieu de la ligne juste au dessus
End If
End If
wSaveFileDialog.Dispose()
Return wFlag
End Function
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 20123 21 août 2008 à 10:09
Tu n'arrive plus à l'avoir ... C'est-à-dire ?
Si tu ne sait pas où tu l'enregistre vérifie en mettant MsgBox(wFichier) juste avant le Return True de la fonction enregistrer...