[help] listar archivos en .net compact framework

Sr_RoS

Estoy haciendo un programa que guarda datasets como ficheros xml

una vez guardados uso OpenFileDialog para abrirlos y no me aparecen los archivos incluso especificando InitialDirectory

Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
        Dim openFileDialog1 As New OpenFileDialog()
        openFileDialog1.InitialDirectory = m_claseGlobal.path + "\datos"
        openFileDialog1.Filter = "datasets xml (*.xml)|*.xml|Todos (*.*)|*.*"
        openFileDialog1.FilterIndex = 1
        If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Try
                MsgBox(openFileDialog1.FileName)
            Catch Ex As Exception
                MessageBox.Show("No se puede leer el fichero. Error: " & Ex.Message)
            End Try
        End If
    End Sub

1 Existe alguna forma de solucionarlo? (quiero leer la carpeta datos)

2 Hay alguna forma de hacerlo mas "elegante", por ejemplo con un treeview que se llene con los nombres de los archivos en una carpeta? si es así se admiten sugerencias.

Un saludo y gracias por las respuestas.

kas

Podrias poner un snippet del codigo de guardado?

El openFileDialog es para permitir a un usuario abrir archivos, no para hacerlo programaticamente.

Si tu navegas con el explorador de windows puedes ver esos archivos? Si es asi, prueba a quitar el filterindex porque quizas este mal escrito.

Si siempre vas a guardar los archivos en el mismo directorio y no quieres que los usuarios puedan "saber" donde estan guardados (almenos los pacos), tambien puedes listarlos en una listview o listbox por ejemplo.

Sr_RoS

la verdad es que la carpeta no tiene por que se visible al usuario, además ganaría en limpieza y sencillez

tks por la respuesta #2

Sr_RoS

encontré una solución mas elegante

http://www.recursosvisualbasic.com.ar/htm/vb-net/3-ejemplos-con-archivos-en-vb-net.htm

crear un formulario con un listbox y crear una propiedad global para recoger el nombre del fichero en cuestión

kas

Por favor una propiedad global? Pasale una variable al constructor y recuperala en el form_closing a traves de una propiedad.

Edit: O aun mejor abres el formulario mediante la funcion ShowDialog asi el programa que lanza la ventana se bloqueara hasta que la ventana se cierre.

Para cerrarla usa la propiedad del formulario DialogResult (que puede ser Ok, Cancel, etc...) y en el programa rpincipal, despues de llamar a tu_form.ShowDialog() comprueba que esa propiedad del form sea OK y entonces tomas las medidas oportunas.

Es mas, yo te aconsejo que solo compruebes si es Cancel y salgas. luego escribes tu codigo sin necesidad de anidarlo en if's else's.

Sr_RoS

uso una propiedad global, porque cuando llega un determinado punto tengo que eliminar el fichero origen de datos para que no halla confusión.
asi sé que fichero está abierto en todo momento.

Usuarios habituales

  • Sr_RoS
  • kas