Visual Basic.NET - Guardar archivo sin cuadro diálogo

 
Vista:

Guardar archivo sin cuadro diálogo

Publicado por Marta (7 intervenciones) el 21/07/2007 10:50:54
Hola a todos...

Trabajo con Visual Basic 2005. En mi aplicación uso un TreeView en el que aparecen los temarios correspondientes a distintas asignaturas. El nodo raíz representa el nombre de cada una de las asignaturas. Cuando quiero cambiar de árbol, grabo las modificaciones del árbol actual y cargo el siguiente. Total, que cuando guardo el árbol me aparece el correspondiente cuadro de diálogo "guardar". Lo que yo quiero es guardar el archivo en cuestión sin que aparezca ese cuadro, sin que me pregunte le nombre del archivo...

Qué tengo que desactivar para que deje de aparecer ese cuadro de diálogo.

Un cordial saludo,
Marta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar archivo sin cuadro diálogo

Publicado por Harold V. (411 intervenciones) el 21/07/2007 13:09:45
Hola martha, podrias enviar la parte de tu copigo en la que tienes el problema, especificamente en la funcion de guardar y pasar a otro nodo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar archivo sin cuadro diálogo

Publicado por Marta (7 intervenciones) el 21/07/2007 17:28:38
Hola, Harold. En realidad no es un problema. Todo funciona perfectamente, pero quiero mejorarlo. Eso es todo. Me resulta incómodo que aparezca el cuadro de diálogo cada vez que guardo el árbol. Lo que quiero es que no salga el cuadro de diálogo Quiero establecer la diferencia entre GUARDAR (con el mismo nombre; en este caso no quiero el cuadro de diálogo) y GUARDAR COMO (en este caso, sí que debe aparecer). Otra mejora, consistiría en hacer un autoguardado cada x minutos...

En fin, ahí tienes el código para que te hagas una idea...

Private Sub tsmGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tsmGuardar.Click
'Guardamos el árbol; como argumento pasamos en nombre del archivo, que se obtiente del texto (label) del nodo raíz.

Call GuardarArbol(TView.Nodes(0).Text)
End Sub

Private Sub tsmCargar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tsmCargar.Click

'Al hacer clic en el menú contxtual, abro el archivo .XML. El nombre lo otengo del label del nodo raíz.
OpenFileDialog1.DefaultExt = "XML"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim NS As New NodeSerializer
NS.LoadNodes(TView, OpenFileDialog1.FileName)
End If
'Activamos el arrastre.
TView.AllowDrop = True
'Defino el color que aparecerá cuando seleccione el nodo.
DefBackColor = TView.BackColor()
SelectedColor = Color.Khaki

End Sub


Un cordial saludo,
Marta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar archivo sin cuadro diálogo

Publicado por Harold V. (411 intervenciones) el 21/07/2007 19:11:03
Martha, falta el codigo mas importante el del sub GuardarArbol(TView.Nodes(0).Text)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar archivo sin cuadro diálogo

Publicado por Marta (7 intervenciones) el 21/07/2007 23:22:17
Disculpa, Harold. Ahí va el código.

'=====================================================

Private Sub tsmGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tsmGuardar.Click
'Guardamos el árbol; como argumento pasamos en nombre del archivo, que se obtiente del texto (label) del nodo raíz.

Call GuardarArbol(TView.Nodes(0).Text)
End Sub
'=====================================================


Private Sub GuardarArbol(ByVal NombreArchivo As String)

SaveFileDialog1.DefaultExt = "XML"
SaveFileDialog1.FileName = NombreArchivo & ".XML"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim NS As New NodeSerializer
NS.SaveNodes(TView.Nodes(0), SaveFileDialog1.FileName)
End If


End Sub


'=====================================================
Private Sub tsmCargar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tsmCargar.Click

'Al hacer clic en el menú contxtual, abro el archivo .XML. El nombre lo otengo del label del nodo raíz.
OpenFileDialog1.DefaultExt = "XML"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim NS As New NodeSerializer
NS.LoadNodes(TView, OpenFileDialog1.FileName)
End If
'Activamos el arrastre.
TView.AllowDrop = True
'Defino el color que aparecerá cuando seleccione el nodo.
DefBackColor = TView.BackColor()
SelectedColor = Color.Khaki

End Sub

Saludos
Marta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar archivo sin cuadro diálogo

Publicado por Harold V. (411 intervenciones) el 23/07/2007 20:28:42
Es sencillo: 'fijate el codigo como funciona!!!

Imports System.IO

Dim Autograbar As TimeSpan
Dim horaActual As TimeSpan

Private Sub tsmGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tsmGuardar.Click

Call GuardarArbol(TView.Nodes(0).Text, 0)

End Sub

'CheckAction es una variable que debes pasar depende de lo que quieres hacer
Private Sub GuardarArbol(ByVal NombreArchivo As String, ByVal checkAction As Integer)

'Este ejemplo te muestra como verificar si ya existe el archivo
Dim Fileinfo As New FileInfo("C:\" & NombreArchivo & ".xml")

Select Case checkAction

Case 0 'Guardar archivo existente sin mostrar el savefiledialog

'si le archivo existe entonces solo debemos sobreescribir y
'no mostrara la ventana guardar
If Fileinfo.Exists Then
Dim NS As New NodeSerializer
NS.SaveNodes(TView.Nodes(0), NombreArchivo)
Else
SaveFileDialog1.DefaultExt = "XML"
SaveFileDialog1.Title = "Guardar..."
SaveFileDialog1.FileName = NombreArchivo & ".XML"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim NS As New NodeSerializer
NS.SaveNodes(TView.Nodes(0), SAveFiledialog1.FileName)
End If
End If

Case 1 'Guardar como...

SaveFileDialog1.DefaultExt = "XML"
SaveFileDialog1.Title = "Guardar como..."
SaveFileDialog1.FileName = NombreArchivo & ".XML"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim NS As New NodeSerializer
NS.SaveNodes(TView.Nodes(0), SAveFiledialog1.FileName)
End If

Case 2 'Autograbado
Timer1.Enabled = True
Timer1.Start()

End Select

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Autograbar = Now.TimeOfDay
If Autograbar.Subtract(horaactual).Seconds = 10 Then
MsgBox("autograbando cada 10 segundos")
'Aqui haces lo que deseas
'...

horaactual = Now.TimeOfDay
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar