Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)


Ir a la página 1, 2  Siguiente

Objetivo: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
Sin saber como ni por que, el Dialog.OpenFile de mi programa solo me funciona con los parametros de "Todos los archivos" si pongo por ejemplo que busque solo los (*.txt) Archivos de texto no me lista ninguno cuando yo se que ahi si que los hay.

Este es mi codigo:
PUBLIC SUB Button8_Click()
Dialog.Title = "Choose a file"
Dialog.Filter = ["*.txt", "Text Files", "*", "All files"]
IF Dialog.OpenFile() THEN RETURN
ListBox1.List = Split(File.Load(Dialog.Path), "\\n")
CATCH
Message.Info("No se pudo importar:\\n" & Dialog.Path & "\\n" & Error.Text)
END


Lo uso en: gambas 2.20.2, Ubuntu Karmic.

Es practicamente el mismo codigo de ejemplo que el de GambasDoc.org pero no se por que no me funciona. Me podriais echar un cable?

última edición por Emmet el Lunes, 28 Junio 2010, 21:02; editado 1 vez
Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos"
Lo único que parece incorrecto es que duplicas las barras para denotar el carácter de nueva línea "\\n". Si lo que quieres es duplicar ese caracter simplemente deberías escribir:


"\n\n"

String$(2,"\n")

'En cualquier caso puedes reemplazar "\n" por la constante gb.NewLine

String$(2,gb.NewLine)

gb.NewLine & gb.NewLine


Por lo demás el código es correcto, debería funcionar.

Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos"
Pues no, no funciona

Lo de las // asi me funciona bien, por que si cargo un archivo de texto (.txt) mirando desde todos los archivos me lo carga y coloca bien en el listbox.

Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos"
Emmet, especificar el carácter nueva línea así: "\\n" es incorrecto, que funcione para la función Split es probablemente una casualidad, en otros casos te causará problemas.

Por lo demás, el código es correcto y funciona. Lo que está mal es que no obtienes el resultado que esperas, pero la causa de ello no parece ser el código. Podrías verificar si el problema ocurre si usas el componente gb.qt en vez de gb.gtk o gb.gui.

Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos"
Antes usaba el componente gb.gtk y ahora hace cosa de un par de dias lo cambie todo al gb.qt pero el problema ya existia en el gtk y continua ahora en el qt.

Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
Ya lo he solucionado, era un problema con la declaracion de extension, pero lo arregle de una forma algo rudimentaria pero efectiva.

Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
Citar:

Ya lo he solucionado, era un problema con la declaracion de extension, pero lo arregle de una forma algo rudimentaria pero efectiva.


Seguro... y la solución fue...?

¿Te das cuenta que no exponer lo aprendido es una actitud contraria a la filosofía de la comunidad de gambas?

Bien, infiero que el problema fue que tus archivos tenían extensiones en mayúsculas. Es algo importante a tener en cuenta para especificar los filtros, así de modo que debería quedar así:

Dialog.Filter = ["*.txt;*.TXT", "Text Files", "*", "All files"]

última edición por fabianfv el Lunes, 28 Junio 2010, 22:33; editado 1 vez
Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
La solucion fue:
File.Save(Dialog.Path & ".faq", content)


O algo asi, que no tengo el codigo aqui ahora mismo. Al guardar el archivo asi ya cuando queria importarlo me salia bien.

última edición por Emmet el Martes, 29 Junio 2010, 16:50; editado 1 vez
Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
No he entendido la solucion...a mi me pasa lo mismo.

Mi codigo es el siguiente (no es nigun proyecto, simplemente es codigo para probar los dialogos):

PUBLIC SUB btnDialogos_Click()

DIM ruta AS String
Dialog.Title = "Seleccion de Archivo"
Dialog.Filter = ["*.jpg "]
Dialog.Path = "/home/ans/Escritorio/" '<---Uso ruta absoluta porque no es ningun programa, sino simples
' pruebas
SELECT CASE Dialog.OpenFile()
CASE TRUE
Dialog.Path = " "
CASE FALSE
ruta = Dialog.Path
LBx1.Add(ruta)
END SELECT
END


Con el componente gb.gui y gb.gtk, no me sale correctamente ni el Dialog.Filter, ni el Dialog.Path de antes del Dialog.Openfile, en cambio el Dialog.Title si sale correctamente.

Con gb.qt, me sale todo correcto, menos el Dialog.Filter, que me sigue saliendo como si pusiese ["*"].

Entonces no se si es problema de componentes o cualquier otra cosa...

La solucion que propones ademas es para guardar el archivo, no para que se filtren los archivos en el Dialog.Openfile.


Saludos!!

última edición por AnSnarkista el Martes, 13 Julio 2010, 12:51; editado 1 vez
Perfil MP  
Objetivo: Re: Dialog.OpenFile Solo Funciona Con "Todos Los Archivos" (Solucionado)
Es que mi problema venia de que al guardar no procesaba el filtrer por lo cual no guardaba con extension y entonces al buscar con el OpenFile si funcionaba el filtrer y no veia los archivos.

Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4134s (PHP: -74% SQL: 174%)
Consultas SQL: 49 - Debug off - GZIP Activado