PHPISAM PARA LA WEB

    El manejo de los Archivos Planos en proyectos de cierta envergadura es un trabajo complejo y no permite un acceso rápido en Archivos con gran cantidad de registros, pero usando ISAM podemos solucionar este problema con una simple línea en nuestro programa para manipular el Archivo .INX que es donde se alojan los Indices del Archivo en cuestión, de esta forma podemos seguir usando nuestros Archivos Planos sin problemas, al tener aislada en el Archivo aparte .INX la maquinaria necesaria para el acceso a datos. En todas las aplicaciones un elemento fundamental son las listas de registros como Catálogos, Pedidos de un Cliente, Material enviado en una fecha, etc., por lo que disponemos de Comandos con este enfoque, como Registros a partir de una Clave o entre dos Claves determinadas, o aquellos en que la parte izquierda de la Clave sea igual al valor indicado, además también podemos combinar los casos anteriores entre sí.

    Estos Comandos devuelven a nuestro programa una lista en la que figuran todos los registros en el orden establecido en el Indice y que *****plen las condiciones solicitadas. Como la lista puede ser muy larga se hahilitan dos parámetros para recibir solo un número de registros a partir de una posición, esto nos permite recorrer un gran Archivo y traer solamente las líneas de datos que componen la Página vamos a presentar.

    En nuestro programa solo tendremos que hacer una lectura en disco por cada número de registro de la lista devuelta por el programa de ISAM, números que vienen separados con coma por lo que resulta muy fácil, veamos un ejemplo para PHP:

    $nConsu = $cabecera; // Obtener el Número de Consulta.
    $Longi = 300; // Longitud registro de Respuestas
    $nLineas = 20; // Indica 20 líneas por Página.
    $inicio += $nLineas; // Avance de Página.

    $resul = exec("serafoX l/Respuestas/0/".$nConsu."/".$inicio."/".$nLineas."");
    $totRegis = strtok( $resul, "/");
    echo "Total registros encontrados:".$totRegis;
    $nuReg = strtok( $resul, ",");
    while($nuReg){
    fseek( $fich, $nuReg*$Longi );
    $Buf = fread( $fich, $Longi );

    SEPARACION EN CAMPOS DEL REGISTRO $Buf LEIDO
    Y CREACION DE HTML PARA PRESENTAR LA LINEA

    $nuReg = strtok( $resul, ",");
    }

    La primer línea supone que hemos leido una Consulta y tenemos su número que es $nConsu. Hemos utilizado el Comando l/Respuestas/etc. que nos devuelve una string con un número que es el total de registros encontrados y un / slash de separación seguido de los números de Registro a presentar separados por coma, los cuales vamos seleccionando con strtok, leyendo y presentando en el subsiguiente bucle while.

    Por supuesto también se dispone de los Comandos clásicos como la Creación del Archivo de Indices, Inserción de una Clave, Eliminar, Buscar una sola Clave, Primera, Siguiente, Anterior, Ultima.

    Aprovechando la operativa descrita, se habilita la posibilidad de ejecutar varios Comandos en una sola llamada al programa de ISAM, para casos como en las modificaciones de Claves donde usaremos primero el de Eliminar todas las Claves del registro y a continuación el de Insertar los nuevos valores, otro caso, y este el más interesante, nos permite seleccionar varios Indices del mismo Archivo y obtener una lista con los que *****plen todas las condiciones, y con del orden de clasificación de cualquiera de los Indices implicados, p.e. todos los registros del mismo Cliente comprendidos entre dos Fechas, para lo que usaremos un Comando g/ARCHIVO/2/cliente para seleccionar los del Cliente, y otro con k/ARCHIVO/3/fch1/fch2 para Limitar las Fechas. Hemos supuesto el Indice=2 para Cliente y el Indice=3 para Fecha.

    Para obtener estos resultados se hace una sola llamada a ISAM con los Comandos seguidos y separados por chr(198) el caracter ASCII Æ = 198. En el caso de listas es obligatorio un número que indica cuál de ellas impone el orden en la lista resultante, en caso contrario no se realiza el cruce de los diferentes Indices. e/ARCHIVO/etc.Æh/ARCHIVO/etc. para el primer ejemplo y g/ARCHIVO/2/clienteÆ0k/ARCHIVO/3/fch1/fch2 para el segundo, donde el cero que acompaña al separador indica que el orden de los datos resultante será el del comando cero, o sea el Indice 2, y si deseamos orden por Fecha que es el Indice 3 pondremos un 1 con el separador.
    URL: http://www.phpisam.com

    Noticias Linux y más

    ¿Qué es Kali NetHunter y por qué deberías conocerlo?

    kali Linux NetHunter Seguramente ya has escuchado hablar de Kali Linux, la popular distribución diseñada especialmente para la seguridad informática y las pruebas de penetración. Pero, ¿sabías que también existe una versión optimizada específicamente para dispositivos móviles Android? Esa versión se llama Kali NetHunter.

    Leer más...

    10 trucos increíbles que puedes hacer con FFmpeg en Linux

    ffmpegFFmpeg es una potente herramienta de línea de comandos en Linux, ampliamente utilizada para convertir, editar, procesar y manipular contenido multimedia. Gracias a su versatilidad, FFmpeg permite realizar tareas complejas con vídeos y audios de forma rápida y sencilla, utilizando comandos directos desde tu terminal.

    Leer más...

    5 herramientas gratuitas para leer y gestionar tus archivos PDF en Linux

    PDF LinuxEn Linux, la gestión y visualización de archivos PDF es fundamental tanto para estudiantes como profesionales. Aunque existen muchas alternativas, no todas ofrecen la misma calidad o comodidad. Por suerte, en Linux disponemos de herramientas gratuitas que facilitan enormemente esta tarea.

    Leer más...

    Las grandes diferencias entre los escritorios Linux COSMIC y KDE Plasma

    Cosmic versus KDEAl hablar de entornos de escritorio en Linux, las opciones son variadas y constantemente en evolución. KDE Plasma lleva décadas siendo uno de los entornos de escritorio más completos, personalizables y reconocidos, apreciado por usuarios que buscan flexibilidad y eficiencia visual.

    Leer más...

    Please publish modules in offcanvas position.