UNIDAD 6: REGISTROS Y ARCHIVOS DIRECTOS

TEMA PERL 5: FILTROS CONDICIONES

Otro problema similar al anterior es el de filtros o condiciones, es decir en muchas ocasiones es necesario obtener informacion acerca de un subconjunto de renglones de el archivo.

Por ejemplo todos los estudiantes que sean mayores de 17 anos, o todos los clientes que sean de Tijuana, etc. a esto le llamamos filtros o condiciones.

Tambien se resuelve de manera similar a los de archivos secuenciales es decir usando un ciclo de lectura de todo el archivo e ir desplegando todos los registros que cumplan la condicion.

Prog33.pl


#! /usr/bin/perl -w

# usando modulo o libreria CGI

use CGI;

# creando el OBJETO de tipo CGI

$q = new CGI;

# mandando servidor los encabezados de la pagina html

print $q->header;

print $q->start_html();

# creando una form o ventana

print $q->startform();

print "EDAD MAYOR> QUE : ";

print $q->textfield('EDAD1','0', 5);

# creando un submit button

print $q->submit('FILTRAR');

# cerrando la forma

print $q->endform();

# cerrando html

print $q->end_html;

if ( $q->param('FILTRAR')) {

# empezando una tabla html

print "<HTML><TABLE Border=10 CellPadding=5><TR>";

# construyendo los encabezados de la tabla

print "<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>";

# abriendo y leyendo archivo

open(ARCHIVO, "DATOS.DAT") || die "No se pudo abrir archivo";

while(!eof(ARCHIVO)){

# leyendo registro

read(ARCHIVO, $temporal, 39);

# desempacandolo

($clave, $nombre, $edad, $bandera) = unpack("I A30 I A1", $temporal);

if ( ($bandera eq "A") && ($edad >= $q->param('EDAD1') ) )

{ print "<TR><TD>"."$clave"."</TD><TD>"."$nombre"."</TD><TD>"."$edad"."</TD></TR>"; };

};

print "</TABLE>";

close(ARCHIVO);

};

corrida:

image275.jpg

Como se observa es un problema y una solucion similar al TEMA PERL anterior de busquedas.

TAREAS PROGRAMACION PERL

HACERLES PROGRAMAS DE FILTRADO A LOS ARCHIVOS ANTERIORES, PERO LA CONDICION DE BUSQUEDA FORMARLA CON COMPONENTES HTML DE SELECCION(UNO PARA LA VARIABLE Y OTRO PARA EL OPERADOR RELACIONAL) Y UN COMPONENTE TEXT( PARA EL DATO), ESTO PERMITIRIA QUE SE PUDIERA FILTRAR EL ARCHIVO POR CUALQUIER CAMPO y cualquier operador.

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad