##
TOKENS EN PARAMETROS DE LLAMADA

Ya de forma un poco más avanzada vamos a ver como también se pueden pasar varios parámetros en la llamada utilizando separadores, o lo que es lo mismo, separando mediante delimitadores los parámetros, es decir, tokenizando la cadena que contiene el valor del parámetro, por ejemplo:

        <PARAM NAME=Nombre VALUE="Agustin|Antonio">

En este caso el separador es la barra vertical "|", que delimita los dos tokens, pero también podemos redefinirlo y utilizar cualquier otro símbolo como separador:

        <PARAM NAME=Separador VALUE="#">
        <PARAM NAME=Nombre VALUE="Agustin#Antonio">

Si ahora intentamos cambiar de color de fondo en que aparecen los textos en el applet, utilizando el mismo método, podríamos tener:

        <PARAM NAME=Nombre VALUE="Agustin|Antonio">
        <PARAM NAME=Color VALUE="green|red">

Es más, podríamos hacer que parpadeasen los mensajes en diferentes colores, cambiando el color de fondo y el del texto:

        <PARAM NAME=Nombre1 VALUE="Agustin|green|yellow">
        <PARAM NAME=Nombre2 VALUE="Antonio|red|white">

Para recoger los parámetros pasados en este último caso, bastaría con hacer un pequeño bucle de lectura de los parámetros que deseamos:

        for( int i=1; ; i++ )
            p = getParameter( "Nombre"+i );
            if( p == null )
                break;
            . . .
            }

incluso podríamos utilizar un fichero para pasar parámetros al applet. La llamada sería del mismo tipo:

        <PARAM NAME=Fichero VALUE="FicheroDatos">

y el FicheroDatos debería tener un contenido, en este caso, que sería el siguiente:

        Agustin
            fondoColor=green
            textoColor=yellow
            fuente=Courier
            fuenteTam=14
        Antonio
            fondoColor=red
            textocolor=white

E incluso ese FicheroDatos, podríamos hacer que se encontrase en cualquier URL, de forma que utilizando el método getContent() podríamos recuperar el contenido del fichero que contiene los parámetros de funcionamiento del applet:

        String getContent( String url ) {
            URL url = new URL( null,url );

            return( (String).url.getContent() );
            }

Para recuperar los parámetros que están incluidos en la cadena que contiene el valor podemos utilizar dos métodos:

        StringTokenizer( string,delimitadores )
        treamTokenizer( streamentrada )

Así en la cadena `Agustin|Antonio` si utilizamos el método:

        StringTokenizer( cadena,"|" );

obtenemos el token Agustin, el delimitador "|" y el token Antonio. El código del método sería el que se muestra a continuación:

        // Capturamos el parámetro
        p = getParameter( "p" );

        // Creamos el objeto StringTokenizer
        st = new StringTokenizer( p,"|" );

        // Creamos el almacenamiento
        cads = new String[ st.countTokens() ];

        // Separamos los tokens de la cadena del parámetro
        for( i=0; i < cads.length; i++ )
            cadenas[i] = st.nextToken();

En el caso de que utilicemos un fichero como verdadera entrada de parámetros al applet y el fichero se encuentre en una dirección URL, utilizamos el método StreamTokenizer() para obtener los tokens que contiene ese fichero:

        // Creamos el objeto URL para acceder a él
        url = new URL( "http://www.prueba.es/Fichero" );

        // Creamos el canal de entrada
        ce = url.openStream();

        // Creamos el objeto StreamTokenizer
        st = new StreamTokenizer( ce );

        // Capturamos los tokens
        st.nextToken();

|  | ##### [Anterior] [Indice] [Siguiente]