• Publicidad

Abrir Archivos con Perl/Tk

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Abrir Archivos con Perl/Tk

Notapor jclp77 » 2006-10-16 13:03 @585

¡¡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??? :D

Sintáxis: [ Descargar ] [ Ocultar ]
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
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México

Publicidad

Notapor explorer » 2006-10-16 14:30 @646

Por si alguien no lo sabe, getOpenFiles pertenece al paquete Tk.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Abrir Archivos

Notapor kidd » 2006-10-16 14:37 @651

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
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor jclp77 » 2006-10-16 14:51 @660

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:
Sintáxis: [ Descargar ] [ Ocultar ]
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:
Sintáxis: [ Descargar ] [ Ocultar ]
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
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México

Notapor explorer » 2006-10-16 15:05 @670

Prueba con esto:
Sintáxis: [ Descargar ] [ Ocultar ]
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:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$type=[
  ["Archivo Validado", [ map ".$_", 1..365 ] ],
  ['All Files',        '*'  ],
];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor jclp77 » 2006-10-16 17:01 @750

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???
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México

Notapor explorer » 2006-10-16 17:10 @757

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}*" .
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor jclp77 » 2006-10-16 17:28 @769

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. :(
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México

Notapor explorer » 2006-10-16 17:32 @772

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor jclp77 » 2006-10-16 17:45 @781

Efectivamente, creo que es limitación del cuadro de diálogo... sólo pude leer hasta el archivo .54. :(

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!!! :D

Saludos
jclp77
Perlero nuevo
Perlero nuevo
 
Mensajes: 21
Registrado: 2006-09-06 12:04 @544
Ubicación: México


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron