jump to navigation

Leer un fichero de texto en ASP Septiembre 29, 2009

Publicado por lineadecodigo en : ASP , Añadir un comenario

Para poder leer el contenido de un fichero de texto en ASP deberemos de utilizar el objeto FileSystemObject. Es por ello que lo primero que realizaremos para leer un fichero de texto en ASP será crear una instancia de dicho objeto.

  1. Set mifichero = Server.CreateObject("Scripting.FileSystemObject")

Una vez creada la instancia de un objeto FileSystemObject deberemos de abrir el fichero que queramos leer. Para poder abrir el fichero invocaremos el método .OpenTextFile del objeto recién creado. La sintaxis básica del método .OpenTextFile, es la siguiente:

  1. .OpenTextFile (fichero as String, modo as Integer)

A la hora de indicar el nombre del fichero, es aconsejable que utilicemos el método MapPath del objeto Server, para así obtener la localización concreta del fichero en el servidor. En el segundo parámetro indicaremos el modo de apertura del fichero (ForReading-1, ForAppending-2, ForWritting-3).

De esta manera, si nuestro fichero se llamase "texto.txt" el código sería el siguiente:

  1. Set objFile = objFSO.OpenTextFile(Server.MapPath("texto.txt"),1)

Una vez abierto el fichero, deberemos de leer su contenido. Para leer el contenido utilizaremos el método ReadAll, el cual nos devuelve todo el contenido del fichero. Ojo, que este método es del objeto TextStream. El cual nos retorno el FileSystemObject.

  1. .ReadAll (mifichero)

Hay que tener cuidado con dos cosas: la primera es que debemos de comprobar que no estamos situados al final del fichero y la segunda es que deberemos de convertir el contenido del fichero a formato tipo texto. Para lo primero nos apoyamos en el método .AtEndOfStream y para lo segundo utilizaremos la función CStr.

  1. If Not objFile.AtEndOfStream Then
  2. texto = CStr(objFile.ReadAll)
  3. End If
  4.  
  5. Response.Write(texto)

Finalmente y después de volcar el contenido del fichero por pantalla deberemos de cerrar dicho fichero mediante el método .Close.

  1. objFile.Close
|- Descargar el código
|- Reportar error en el código
|- Foro sobre ASP

Poner en mayúsculas después de punto Septiembre 25, 2009

Publicado por lineadecodigo en : Java , 2 comentarios

Hay ciertas situaciones en las que nos encontraremos ante la tesitura de manejar textos. Uno de los casos es el efecto de corrección y en concreto poner en mayúsculas el primer carácter que haya detrás de cada punto, así como el primero de todos.

Es decir, si partimos de la frase...

hola juan. me ha gustado mucho. hagámonos público. mañana hablamos. luis

... que acabemos con

Hola juan. Me ha gustado mucho. Hagámonos público. Mañana hablamos. Luis

Algo muy sencillo. :-)

Para poder llevar a cabo el ejemplo nos vamos a basar en el método .substring(), en el manejo de bucles sobre la cadena y en el método .toUpperCase(). Llevaremos dos variables, la primera nos indicará el principio de la cadena y el segundo el lugar del punto. De esta manera manejamos la frases de forma separada.

Así la primera iteración será

  1. indice = 0;
  2. indicepunto = frase.indexOf('.',indice);

Para saber cual es el índice del punto nos apoyamos en el método .indexOf(). Este método devuelve el índice del carácter pasado como parametro, a partir de la posición del segundo parámetro. Si no encuentra el carácter, devuelve un valor negativo.

Ahora que hemos delimitado la cadena, realizamos 2 pasos:

1. Quedarnos con el primer carácter y convertirlo a mayúsculas

  1. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();

Es decir, desde el incio, cogemos un solo carácter con .substring() y lo convertimos a mayúsculas con .toUpperCase().

La variable "frase" será la frase inicial y "frase2" la frase que vamos componiendo con las mayúsculas después de punto.

2. Quedarnos desde el siguiente carácter del punto hasta el punto.

  1. frase2 = frase2 + frase.substring(indice+1,indicepunto+1);

En este caso, desde el segundo carácter hasta dónde está el punto. Solo extraemos la cadena con .substring().

Estos pasos hay que repetirlos por cada una de las cadenas. Es decir, hasta que no encontremos puntos. Así, el código completo será el siguiente:

  1. int indice = 0;
  2. indicepunto = frase.indexOf('.',indice);
  3.  
  4. while (indicepunto >=0) {
  5. // El primer carácter es en mayúsculas
  6. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();
  7. // Pegamos el resto hasta el primer punto
  8. frase2 = frase2 + frase.substring(indice+1,indicepunto+1);
  9.  
  10. indice = indicepunto + 1;
  11. indicepunto = frase.indexOf('.',indice);
  12. }

Por último solo nos quedará adjuntar a "frase2" el resto de la frase (en el que no hay puntos). Este será el contenido desde el último punto, hasta el final de la cadena. El final de la cadena lo conseguimos con .length())

  1. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();
  2. frase2 = frase2 + frase.substring(indice+1,frase.length());

Ahora solo tienes que volcar el contenido de "frase2". Pero eso te lo dejo a ti. ;-)

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java

Numero de usuarios activos en ASP Septiembre 24, 2009

Publicado por lineadecodigo en : ASP , Añadir un comenario

La idea de este ejemplo es la de poder mostrar el número de usuarios activos que existen dentro de una Web simultáneamente. Para poder llevar a cabo este ejemplo deberemos de utilizar el archivo global.asa y una variable de aplicación que lleve la cuenta de los usuarios activos.

Hay que recordar que el archivo global.asa se ejecuta cada vez que un usuario abre o cierra una sesión o bien cuando abrimos o cerramos la aplicación servidor. Cada vez que el usuario abra una sesión en nuestra Web se ejecutará el procedimiento Session_OnStart, en el cual incrementaremos la variable de aplicación. Cuando un usuario cierra la sesión se ejecuta el procedimiento Session_OnEnd donde decrementaremos la variable de aplicación.

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Session_OnStart
  4. ...
  5. End Sub
  6.  
  7. Sub Session_OnEnd
  8. ...
  9. End Sub
  10. </SCRIPT>
  11.  

Para acceder a una variable de aplicación utilizamos la variable application, la cual recibirá como parámetro la variable. En este caso la variable será "usuariosActivos".

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Session_OnStart
  4. application.Lock
  5. application("usuariosActivos") = application("usuariosActivos")+1
  6. application.UnLock
  7. End Sub
  8.  
  9. Sub Session_OnEnd
  10. application.Lock
  11. application("usuariosActivos") = application("usuariosActivos")-1
  12. application.UnLock
  13. End Sub
  14. </SCRIPT>
  15.  

Cuando utilicemos la variable de aplicación deberemos de realizar un bloqueo sobre la misma con application.lock y application.unlock, ya que dicha variable esta disponible para todos los usuarios y podríamos tener problemas de integridad.

Para que la variable de aplicación tenga un valor inicial, este se le daremos en el archivo global.asa, en el procedimiento Application_OnStart. El procedimiento Application_OnStart es el que se ejecuta cuando se arranca la aplicación por primera vez.

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Application_OnStart
  4. application("usuariosActivos") = 0
  5. End Sub
  6. </SCRIPT>
  7.  

A la hora de mostrar el valor de la variable de aplicación, simplemente necesitaremos un Response.Write().

|- Descargar el código
|- Reportar error en el código
|- Foro sobre ASP

Ventanas de información con imágenes en Google Maps Septiembre 23, 2009

Publicado por lineadecodigo en : Google , Añadir un comenario

Ya hace tiempo que veíamos el ejemplo de cómo mostrar una ventana de información en Google Maps. Pero dicho ejemplo nos daba poco juego ya poniendo texto en la ventana de información no llegamos muy lejos.

Ahora vamos a ver como poner ventanas de información con imágenes. Bueno, con imágenes y con más cosas. La verdad que lo que hacemos es cargar una ventana de información que nos permita cargar HTML. Pero vamos por pasos... lo primero, siempre, crear un área para el mapa y cargar Google Maps.

  1. title"><title>Ventana de información con imagen</title>
  2. <script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=CLAVE" type="text/javascript"></script>
  3.  
  4. <script type="text/javascript">
  5.  
  6. //<![CDATA[
  7.  
  8. function load(){
  9. if (GBrowserIsCompatible())
  10. var map = new GMap2(document.getElementById("mapa"));
  11. }
  12. //]]>
  13. </script>
  14. </head>
  15. <body onload="load();" onunload="GUnload();">
  16. <h1>Ventana de información con imagen</h1>
  17. <div id="mapa" style="width: 800px;height: 600px;">
  18. </div>
  19.  
  20. </body>
  21. </html>

Los pasos, ya explicados en Cargando Google Maps, se pueden resumir en:

Cargar la ventana de información que lleve el HTML lo hacemos mediante el método .openInfoWindowHtml(). Este método recibe como parámetros la longitud-latitud, representado por una clase GLatLng, en la cual se abrirá la la ventana y el HTML que queremos cargar.

Así que incluir la imagen será tan sencillo como poner el siguiente código:

  1. map.openInfoWindowHtml(new GLatLng(40.381351,-5.764591),"
  2. <h3>Casa Rural Los Tejos</h1>
  3.  
  4. <img src='casarural.jpg' style='float:left;margin-right:40px;'> Distribución:
  5. <ul>
  6. <li>1 Habitación de matrimonio</li>
  7. <li>2 habitaciones dobles</li>
  8. <li>2 cuartos de baño completos</li>
  9. <li>1 aseo</li>
  10. <li>Cocina</li>
  11. <li>...</li>
  12. </ul>
  13.  
  14. ");

Vemos que no solo cargamos la imagen mediante la etiqueta IMG, si no que hemos incluido un titular con H3 y una lista de elementos con UL. El resultado... pues compruébalo tu mismo. :-)

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Google Maps

Calcular el volumen de un cubo con java Septiembre 22, 2009

Publicado por lineadecodigo en : Java , 3 comentarios

Como hemos visto en multitud de ocasiones Java nos puede servir para realizar cálculos matemáticos simples. Uno de los cálculos que me pedís muchos es el volumen de un cubo. Veamos que implementarlo en Java es una tarea muy sencilla.

Lo primero que nos debemos de preguntar es por la formula que nos calcula el volumen de un cubo...

volumen = arista3

La complejidad de nuestro programa será el elevar al cubo el valor de la arista. Pero vayamos por partes... pidamos el valor de la arista por consola:

  1. Scanner reader = new Scanner(System.in);
  2. double iArista;
  3. double iVolumen;
  4.  
  5. System.out.println("Introduce el valor de la arista del cubo");
  6. iArista = reader.nextDouble();

En este caso nos apoyamos en la clase Scanner, la cual nos permite hacer una lectura rápida de datos por pantalla. Si quieres aprender más sobre como manejar la petición de datos al usuario, échale un vistazo a Lectura de datos en Java con Scanner. Te servirá para resolver ciertas dudas.

Para poder elevar al cubo el valor de la arista nos apoyamos en el método .pow() de la clase Math. El método .pow() recibe dos parámetros, el primero es el numero elevar, es decir, nuestra arista y la potencia a la cual queremos elevarlo. En nuestro caso al cubo, es decir, 3.

El código quedará de la siguiente forma:

  1. iVolumen = Math.pow(iArista, 3);

Hay que tener en cuenta que ambos parámetros del método .pow() son del tipo double. Esa es la razón de definir inicialmente las variables del tipo double.

Ya solo nos quedará el volcar los datos por pantalla:

  1. System.out.println("El volumen de un cubo de arista " + Double.toString(iArista) + " es de " + Double.toString(iVolumen));

Vemos como nos ayudamos de Double y el método .toString() para convertir un tipo primitivo como double en una cadena de texto y así poderlo volcar a pantalla.

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java

Obtener ID de sesión en ASP Septiembre 21, 2009

Publicado por lineadecodigo en : ASP , Hasta ahora 1 comentario

Uno de los datos por los cuales podemos identificar a un usuario es mediante su ID de sesión. Una sesión se establece por el usuario cada vez que este utiliza un navegador nuevo para acceder a nuestra web. El valor del ID de sesión es asignado automáticamente por el servidor web.

Si queremos acceder al ID de sesión dentro de nuestro programa ASP tenemos que utilizar el objeto Session, en concreto el campo SessionID. Lo podemos visualizar de la siguiente forma:

  1. <%
  2. Response.Write(Session.SessionID)
  3. %>

Hay que tener especial cuidado con este identificativo, que aunque nos puede servir para muchas cosas, podría repetirse en el tiempo. Ya que ante una eventual caída o reinicio del servidor web, este, puede volver a generar ID repetidos. Si bien, tiene una gran utilidad a la hora de saber como el usuario ha ido navegando por nuestro website.

|- Descargar el código
|- Reportar error en el código
|- Foro sobre ASP

Hola Mundo en PHP Septiembre 20, 2009

Publicado por lineadecodigo en : PHP , 2 comentarios

Es, muy probablemente, el programa más universal que exista en todos los lenguajes de programación. Es la forma de escribir nuestro primer programa ejecutable en un lenguaje que estamos aprendiendo.

Y en PHP no iba a ser diferente. PHP, como lenguaje de servidor, añade funcionalidad dinámica a las páginas web. Es decir, lo que se generará es una página web, con su parte en HTML puro y con su parte en código PHP.

Para empezar necesitamos las siguientes cosas:

Si tienes poca experiencia en desarrollo web y quieres empezar de forma básica con PHP en poco tiempo, el tener listos los pasos anteriores puede llevarte un rato.

Si te encuentras en esa situación es muy recomendable utilizar XAMPP. XAMPP es un programa ejecutable que te deja instalado y configurado en tu ordenador: apache, php, perl y MySQL. Se instala de una forma muy sencilla y te permitirá probar tu PHP en cuestión de segundos.

Una vez que tengamos preparado nuestro entorno lo primero que tenemos que hacer es crear un fichero llamado holamundo.php. Este será un fichero de texto normal y corriente, lo único que su extensión será .php.

Sobre el código PHP lo que tienes que saber es que irá entre los simbolos .

  1. <?PHP
  2. // Código PHP
  3. ?>

La forma que tiene de escribir PHP un mensaje a consola es mediante la sentencia echo seguida de la cadena de texto entre comillas. Y, muy importante, acabado en punto y coma (;). Así que nuestro Hola Mundo en PHP nos quedaría algo parecido a:

  1. <?PHP
  2. echo "Hola Mundo";
  3. ?>
|- Descargar el código
|- Reportar error en el código
|- Foro sobre PHP

Cambiar el valor de un radio group dinámicamente Septiembre 19, 2009

Publicado por lineadecodigo en : JavaScript , 4 comentarios

Agrupando elementos INPUT de tipo radio podemos crear un grupo de opciones, en las cuales el usuario solo pueda elegir una de ellas.

Esto se consigue asignando un único nombre (atributo name) a todos los elementos input radio. Así, podríamos construir un formulario para preguntar por el sexo del usuario:

  1.  
  2. <form id="myform">
  3. <input type="radio" name="sexo" id="sexo_m"/ value="masculino">
  4. label"><label for="sexo_m">Masculino</label><br/>
  5. <input type="radio" name="sexo" id="sexo_f"/ value="femenino">
  6. label"><label for="sexo_f">Femenino</label><br/>
  7. </form>
  8.  

Si tenemos valores sobre la información del usuario. Por ejemplo, si está modificando su información anterior, podemos tener la necesidad de cambiar el valor dinámicamente. En este caso, y de no poder crear el formulario de forma dinámica, podemos utilizar JavaScript para cambiar el valor de forma dinámica.

Para cambiar el valor utilizaremos, en primer lugar, la función .getElementById() para acceder al elemento INPUT del formulario. Es por ello que es muy importante el haberle dado un valor al atributo ID.

Cuando accedemos al elemento INPUT vemos que el atributo checked es el que nos informa si el elemento está chequeado o no.

  1.  
  2. document.getElementById('sexo_m').checked = true;
  3.  

Los valores que puede tomar el atributo checked son true y false. Con la línea de código anterior lo que estamos haciendo es marcar el campo 'sexo_m' como activo.

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre JavaScript

Cerrar una ventana con Javascript Septiembre 17, 2009

Publicado por lineadecodigo en : JavaScript , Añadir un comenario

Un ejemplo sencillo por el que me pregunta mucha gente. Cómo cerrar una ventana del navegador con JavaScript, es decir, sin que el usuario pulse sobre el aspa o seleccione Salir... Este ejemplo nos puede ser útil en infinidad de casos... por ejemplo cuando levantamos una ventana emergente y queremos dar la posibilidad de cerrarla.

El código es sencillo, simplemente tenemos que lanzar el método .close() del objeto Window. Por ejemplo, si queremos lanzarlo desde un enlace, el código sería el siguiente:

<a onclick="javascript:window.close();" href="#">Cerrar la ventana</a>

Ahora, que cuando lo pruebas, no funciona... con lo fácil que parecía. Si vamos a la consola del navegador (en este caso del Firefox) vemos lo siguiente:

window_close

Esto quiere decir que no podemos cerrar vía JavaScript una ventana que no esté abierta desde JavaScript.

Es por ello que, en primer lugar, tendremos que abrir una ventana. Échale un vistazo al artículo Abrir una Ventana con Javascript, el cual lo explica detalladamente. Pero, a grandes rasgos, será utilizar el método .open().

Una vez utilizado el método .open(), deberemos de guardarnos la referencia de la ventana abierta. Ya que será sobre esta referencia donde lancemos el método .close().

<script type="text/javascript">
mywindow = window.open("http://lineadecodigo.com","lineadecodigo","directories=no, location=no, menubar=no, scrollbars=yes, statusbar=no, tittlebar=no, width=400, height=400");
</script>

Ahora con la referencia, mywindow, cerramos la ventana:

<a onclick="javascript:mywindow.close();" href="#">Cerrar la ventana</a>
|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Javascript

Activar valores de un combo dinámicamente Septiembre 16, 2009

Publicado por lineadecodigo en : JavaScript , 2 comentarios

La idea de este ejemplo es la de modificar el valor de un combo de forma dinámica. Y así marcar una opción u otra sin que el usuario tenga que interactuar con el combo de selección. Para ello crearemos un combo y tres botones que realicen la interacción.

Lo primero el combo. En este punto es bueno que le eches un ojo a Combo que soporte múltiples selecciones. En dicho artículo podrás ver en detalle la creación del combo.

En este caso, y utilizando la etiqueta SELECT tendremos lo siguiente:

  1.  
  2. <select multiple="multiple" id="favoritos" name="favoritos" size=6>
  3. <option value="deportes">Deportes</option>
  4. <option value="cine">Cine</option>
  5. <option value="teatro">Teatro</option>
  6. <option value="fotografía">Fotografía</option>
  7. <option value="lectura">Lectura</option>
  8. <option value="viajes">Viajes</option>
  9. <option value="pintura">Pintura</option>
  10. <option value="música">Música</option>
  11. <option value="otros">Otros</option>
  12. </select>
  13.  

Ahora pasaremos a poner los tres botones, apoyándonos en la etiqueta BUTTON. Estos, vía el evento onClick, lanzarán el método Mostrar() que será el que tenga la lógica para activar los valores del combo dinámicamente.

  1.  
  2. <button onclick="marcar(1);return false;">Marcar Cine</button>
  3. <button onclick="marcar(3);return false;">Marcar Fotografía</button>
  4. <button onclick="marcar(5);return false;">Marcar Viajes</button>
  5.  

El método Mostrar recibirá un número con la opción a marcar. Hay que recordar que las opciones empiezan por el 0, el cual representará a la primera opción. Para acceder al elemento SELECT utilizamos el ID y el método .getElementById().

Sobre el combo tenemos un array de opciones, representado por .options[]. Y la propiedad de activación es .selected, a la cual asignaremos el valor de true para que dicha opción se active.

  1.  
  2. function marcar(opcion) {
  3. document.getElementById('favoritos').options[opcion].selected=true;
  4. }
  5.  
|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Javascript