2010-02-05 10 views
8

Tengo una secuencia de comandos de Perl ejecutándose en Windows, que se muestra para visualizar líneas muy largas.¿Cómo puedo establecer el tamaño de la ventana cmd.exe de mi programa Perl?

No quiero arreglar el tamaño de mi consola de forma permanente. Solo quiero que sea grande en caso de que este script se esté ejecutando.

¿Hay alguna forma de definir el tamaño de la consola dentro del script Perl que se ejecuta dentro de esta ventana?

Respuesta

3

Ver Win32::Console. El sample program tiene una demostración de cambio de tamaño que funciona en mi Windows XP SP3. No lo he intentado en ningún otro lado.

Además, usar una GUI simple que consiste simplemente en un cuadro de texto podría ser más fácil.

Aquí es una adaptación de testWindow desde el script de ejemplo:

use strict; use warnings; 

use Win32::Console; 

my $OUT = Win32::Console->new(STD_OUTPUT_HANDLE); 
my $IN = Win32::Console->new(STD_INPUT_HANDLE); 
$IN->Mode(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT); 

$OUT->Size(180, 200); 
my ($maxx, $maxy) = $OUT->MaxWindow; 

$OUT->Cls; 
$OUT->Cursor(-1, -1, -1, 0); 

$OUT->FillAttr($BG_YELLOW|$FG_BLUE, $maxy * $maxx, 0, 0); 
$OUT->FillChar('X', $maxy*$maxx, 0, 0); 

$OUT->Window(1, 0, 0, $maxx, $maxy); 

while ($maxx>1 and $maxy>1) { 
    $maxx -= 5; 
    $maxy -= 5; 
    $OUT->Window(1, 0, 0, $maxx, $maxy); 
    sleep 1; 
} 

$OUT->Window(1, 0, 80, 50); 
$OUT->Cls; 
4

Es posible ajustar el tamaño de la consola en una consola que se ejecuta con el comando mode:

mode con lines=50 cols=200 

El cambio sólo se mantendrá hasta la ventana de la consola está cerrada.

+0

¡EXCELENTE! Gracias Eric (-: – Roni

+0

PERO ... Esto también afecta el tamaño del BÚFER! Haciendo desaparecer mi barra de desplazamiento. ¿Cómo puedo establecer el tamaño del búfer por separado? Después de todo, "clic derecho - > propiedades -..> Disposición" tiene cuatro parámetros y no sólo dos consejos por favor ... Gracias , Roni – Roni

+0

@Roni => puede aumentar la barra de desplazamiento hacia arriba al aumentar el número de líneas, tratar varios miles –

Cuestiones relacionadas