Página 1 de 1
Abrir Archivos con Perl/Tk
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 13:03 @585
por jclp77
¡¡Hola a todos!!
Necesito de su orientación ya que estoy haciendo un programilla para abrir archivos con día juliano mediante la función
getOpenFile, el problema es que no todos los archivos los reconoce.. ¿¿¿alguna idea???
Using perl Syntax Highlighting
for (1
..365
) {
push(@A,"*.$_");
}
$type=[
['Archivo Validado', "@A", ],
['All Files', '*', ],
];
$filename = $m->getOpenFile(
-filetypes
=> $type,
-initialdir
=> Cwd
::cwd(),
-initialfile
=> "",
-title
=> "Abrir Archivo"
);Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 14:30 @646
por explorer
Por si alguien no lo sabe, getOpenFiles pertenece al paquete Tk.
Re: Abrir Archivos
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 14:37 @651
por kidd
jclp77 escribiste:el problema es que no todos los archivos los reconoce.. ¿¿¿alguna idea???
¿A qué te refieres cuando dices que no todos los archivos los reconoce? ¿No despliega todos los archivos? ¿Los puede abrir?
Saludos
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 14:51 @660
por jclp77
En realidad tenía un bug en la variable $type: estaba como "*.@A" y lo cambié por \@A y por eso podía abrir algunos archivos con extensión del día juliano, pero ahora ya "corregido" el código no puedo abrir ninguno.
Antes:
Using perl Syntax Highlighting
for ('1'..'365') {
push(@A,"$_");
}
$type=[
['Archivo Validado', "*.@A",],
['All Files', '*', ],
];
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Ahora:
Using perl Syntax Highlighting
sub Validado
(){
for ('1'..'365') {
push(@A,".$_");
}
$type=[
['Archivo Validado', \@A,],
['All Files', '*', ],
];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 15:05 @670
por explorer
Prueba con esto:
Using perl Syntax Highlighting
push @A, ".$_" foreach 1
..365
;
$type=[
["Archivo Validado", [@A] ],
['All Files', '*' ],
];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
O esto, que es lo mismo, pero te ahorras una variable:
Using perl Syntax Highlighting
$type=[
["Archivo Validado", [ map ".$_", 1
..365
] ],
['All Files', '*' ],
];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 17:01 @750
por jclp77
Gracias por la aportación explorer, pero aun así no se pudo filtrar ese tipo de archivos...
¿¿¿Será acaso que la propiedad
-filetypes tendrá un límite???
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 17:10 @757
por explorer
Podría ser, claro... o ser una limitación del sistema operativo, en caso de usar una caja de diálogo del sistema.
Si estuviera en Linux, yo probaría con una extensión con comodines shell. Algo como ".{0-9}*" .
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 17:28 @769
por jclp77
Entonces creo que es una limitación de Windows, y no tanto del objeto.
Ojala los usuarios que van a utilizar esta aplicación tuvieran Linux... pero tienen XP.
![Sad :(](https://perlenespanol.com/foro/images/smilies/icon_sad.gif)
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 17:32 @772
por explorer
Puedes atacar el problema de otra forma:
1.- Sacas un listado de los ficheros disponibles del directorio que el usuario ha elegido (es decir, primero le pedimos al usuario que elija el directorio de trabajo). Eso es fácil de hacer con opendir o con < >.
2.- Compones el listado de ficheros, ordenados, en una caja Tk donde aparecen todos (por ejemplo, una listbox o un scrollbox o algo parecido). En cuanto el usuario elija el nombre de un fichero, quitas 'tu caja de diálogo de ficheros' y abres el fichero.
Así no dependes de la limitación del sistema.
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Publicado:
2006-10-16 17:45 @781
por jclp77
Efectivamente, creo que es limitación del cuadro de diálogo... sólo pude leer hasta el archivo .54.
![Sad :(](https://perlenespanol.com/foro/images/smilies/icon_sad.gif)
Pero es muy buena la sugerencia que me haces... sólo habrá que cambiar unas cuantas líneas de código para hacerlo funcional. ¡¡¡Muchas gracias!!!
Saludos