28 diciembre 2007

Variables en PHP

Una variable es un contenedor de información, en el que podemos meter números enteros, números decimales, caracteres... el contenido de las variables se puede leer y se puede cambiar durante la ejecución de una página PHP.

En PHP todas las variables comienzan con el símbolo del dólar $ y no es necesario definir una variable antes de usarla. Tampoco tienen tipos, es decir que una misma variable puede contener un número y luego puede contener caracteres.

En este ejemplo hemos definido tres variables, $a, $b y $c y con la instrucción echo hemos impreso el valor que contenían, insertando un salto de línea entre ellas.

Existen 2 tipos de variables, las variables locales que solo pueden ser usadas dentro de funciones y las variables globales que tienen su ámbito de uso fuera de las funciones, podemos acceder a una variable global desde una función con la instrucción global nombre _ variable.


Blogalaxia Tags:

26 diciembre 2007

PHP - Conceptos Basicos

El lenguaje PHP es un lenguaje de programación de estilo clásico, con esto quiero decir que es un lenguaje de programación con variables, sentencias condicionales, bucles, funciones, etc. No es un lenguaje de marcas como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos lenguajes, pero a diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.

Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.

La ventaja que tiene PHP sobre otros lenguajes de programación que se ejecutan en el servidor (como podrían ser los script CGI Perl), es que nos permite intercalar las sentencias PHP en las paginas HTML, es un concepto algo complicado de entender si no se ha visto nunca como funciona unas paginas PHP o ASP.


Blogalaxia Tags:

19 diciembre 2007

Ranking 2.0 - Cadena de Enlaces

Con el objetivo de subir el ranking de tu Web y obtener un buen posicionamiento en los buscadores se ha iniciado una cadena de enlaces, esto da un buen resultado, todas las instrucciones están en Compartamos Ideas, Enlístate ya.

1. Nombre:
Compartamos Ideas
Web/Blog Enlace
http://xprograf.blogspot.com/2007/11/ranking-20-cadena-de-enlaces-enlistate.html


........................................................................................................................................................

2. Nombre:
Gratis 2.0
Web/Blog Enlace
http://toditogratis.com/2007/11/ranking-20-cadena-de-enlaces.html

................................................................................................................................................

3. Nombre:
Blog de Programación
Web/Blog Enlace
http://blogdeprogramacion.blogspot.com/2007/12/ranking-20-cadena-de-enlaces.html

................................................................................................................................................

18 diciembre 2007

Redondear numero real en Delphi

Esta es una función para redondear un número real a la cantidad de cifras significativas especificadas al llamar la función, espero les sirva.

function Redondear(numero : real ; cifrasSig : integer) : real;

var

p10 : extended;

begin

{ siendo 2 el caso más frecuente }

if (cifrasSig = 2) then

result := round(numero * 100) / 100

else

begin

p10 := Power(10, cifrasSig);

result := round(numero * p10) / p10;

end;

end;


Blogalaxia Tags:

14 diciembre 2007

Conectar SQLServer con BD en Access 2003

En ocasiones necesitamos acceder desde SQLServer a otra base de datos, existen varias maneras de lograr esto, en este articulo vamos a ver específicamente los “servidores vinculados” y un ejemplo de cómo vincular nuestro servidor SQL con una base de datos en Access 2003.

Ejemplo:

Lo primero que tenemos que tener es nuestra base de datos en Access y luego añadiremos un servidor vinculado a nuestro servidor SQL. Para ello desde el analizador de consultas (SQLAnalizer) utilizamos el procedimiento almacenado sp_addlinkedserver:

sp_addlinkedserver
@server = 'nombre de la BD',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'camino donde esta la BD'

Si ahora miramos en el administrador corporativo en servidores vinculados que se encuentra en la carpeta de seguridad encontraremos un icono que representa nuestra conexión con la base de datos.

El segundo paso será crearnos un login para validarnos en nuestro servidor vinculado, para ello tenemos otro procedimiento almacenado, el sp_addlinkedsrvlogin:

EXEC sp_addlinkedsrvlogin
@rmtsrvname='nombre de la BD',
@useself ='false'

En este ejemplo se crea una asignación para asegurar que todos los inicios de sesión al servidor local se conectan al del servidor vinculado creado sin utilizar un inicio de sesión ni una contraseña en el servidor vinculado. Podemos hacer esto porque Access no requiere credenciales de inicio de sesión.

Ahora podemos probar de manera sencilla si nuestro trabajo ha dado resultado, recopilando los datos de una de las tablas de nuestra base de datos:

select * from “nombre de la BD”...”nombre de la tabla”

Sin las comillas por supuesto, pero los tres puntos si son necesarios.

Visto que funciona podemos utilizar cualquier script que utilice nuestra base de datos: por ejemplo para insertar en una tabla, eliminar o cualquier otro que se nos ocurra.


Blogalaxia Tags:

12 diciembre 2007

Llenando un DBLookupComboBox en Delphi 7

EL DBLookupComboBox nos permite cargar un determinado campo de una tabla como si fuera un ComboBox normal, para esto necesitamos establecer la conexión con la base de datos mediante un ADOConnection, estableciendo los parámetros necesarios para la conexión, además tenemos que utilizar un DataSource y un DBLookupComboBox.

En la propiedad “Connection” del ADOTable especificamos el nombre del ADOConnection creado y en “TableName” el nombre de la tabla de donde queremos recuperar los datos; en la propiedad “DataSet” del DataSource especificamos el nombre del ADOTable que estamos utilizando. Ya en las propiedades del DBLookupComboBox ponemos en “ListSource” el DataSource empleado, en “ListField” el campo que queremos mostrar y en “KeyField” la llave de la tabla de donde sacamos los datos. Por último ponemos la propiedad “Active” del ADOTable en TRUE y tenemos un Combobox con datos recuperados de una tabla de la base de datos.


Blogalaxia Tags:

Directorio de Enlaces

Directorios Web

IDirectorio http://idirectorio.es/

Union de Bloggers Hispanos http://www.uniondebloggershispanos.com/

WebBlogs de Perú http://blogsperu.com/

EspacioVacio http://www.espaciovacio.com/

Blogolandia http://www.blogolandia.es/

Zapin.info http://www.zapin.info/directorio-blogs

Directorio de Blogs en Español http://livingsebas.blogspot.com/

Directorio de Blogs y Bitácoras http://directorioblogs.blogspot.com/

Directorio Boonic http://directorio.boonic.com/

GuiaWeb http://www.flipa.net/

OleBlogs http://oleblogs.com/in.php?ID=364

Sitios Web de Informática

Diseño Web http://www.xtrared.com

Tenoch - Blog mexicano de tecnología http://tenoch.scimexico.com

Informática http://www.indira-informatica.blogspot.com

Diseño web alcala www.sistemasyweb.com

Bitácora del Desarrollador http://www.desarrollador.org/

Programación Web y Tecnologías Informáticas http://zenkius.blogspot.com/

El Hombre Virtual http://www.elhombrevirtual.blogspot.com/

Blog del Programador http://fangosto.blogspot.com/

11 diciembre 2007

Recuperar datos de BD en Delphi 7

En Delphi usualmente tenemos la necesidad de acceder a los datos que tenemos almacenados en una base de datos, ya sea en Access, en MySql, SQLServer, etc., en este articulo hablaremos de como podemos hacer la recuperación de los datos mediante los componentes de Delphi, tanto una tabla como una consulta previamente definida en la base de datos.

En todos los casos lo primero que hay que crear es la conexión con la BD, esto se logra a través del componente: ADOConnection que esta en la paleta ADO, en la propiedad “ConecctionString” construimos la cadena de conexión para acceder a la BD, definimos aspectos como: servidor donde se encuentra la BD, clave de acceso a la BD y la BD a la cual queremos acceder.

Cargando una tabla en DBGrid

Tendremos que usar los siguientes componentes: ADOTable, DataSource y DBGrid que se encuentran en la paleta: ADO, DataAccess y DataControls respectivamente.

En la propiedad “Conecction” del ADOTable especificamos el ADOConecction que habíamos configurado anteriormente y en “TableName” ponemos el nombre de la tabla que queremos mostrar, en la propiedad “DataSet” del DataSource ponemos el nombre del ADOTable, en la propiedad “DataSourse” del DBGrid ponemos el nombre del DataSource; por ultimo ponemos el “Active” del ADOTable en TRUE.

Cargando una consulta en DBGrid

Lo único que cambia con respecto a lo anterior es que en vez de usar un ADOTable usaremos un ADOQuery, igualmente especificamos el ADOConecction en la propiedad “Conecction” y en la propiedad “Sql” especificamos el código SQL de la consulta que queremos cargar; en la propiedad “DataSet” del DataSource ponemos el nombre del ADOQuery en la propiedad “DataSourse” del DBGrid ponemos el nombre del DataSource y por último ponemos el “Active” del ADOQuery en TRUE.

Agregando un DBNavigator al DBGrid

Para lograr esto solo tenemos que especificar en la propiedad “Datasource” del DBNavigator el mismo nombre del DataSource que usa el DBGrid y ya tenemos un componente para navegar por las filas del DBGrid.


Blogalaxia Tags:

07 diciembre 2007

Instalando un plugin en Symfony

Los plugins de Symfony se pueden instalar de diferentes formas según la opción deseada por el usuario, siempre es recomendable leer el archivo “README” que esta incluido en el plugin o las instrucciones de instalación que se encuentran en la página de descarga del plugin.

Después de la instalación de cualquier plugin de Symfony se debe borrar la cache de Symfony.

Los plugins se instalan en cada proyecto. A continuación se describen algunas de las formas de instalación de los plugins de Symfony, todas las descripciones resultan de copiar los archivos de cada plugin en el directorio: “nombre_proyecto”/plugins/ [NOMBRE PLUGIN]/.

Plugins PEAR

Los plugins listados en el wiki de Symfony se distribuyen en forma de paquete PEAR asociados con una página del wiki. Para instalar un plugin de este tipo, se utiliza la tarea plugin-install con la URL completa del plugin, tal y como muestra a continuación:

Instalando un plugin del wiki de Symfony

> cd “nombre_proyecto”

> php symfony plugin-install http://plugins.symfony-project.com/nombrePlugin

> php symfony cc

También es posible descargar los archivos del plugin e instalarlo desde un directorio del sistema. En este caso, en vez de especificar la Url del plugin se especifica la ruta absoluta hasta el archivo del paquete descargado:

> cd “nombre_proyecto”

> php symfony plugin-install /ruta absoluta/nombrePlugin.tgz

> php symfony cc

Plugins de archivo

Algunos plugins se distribuyen en forma de un archivo o un conjunto de archivos. Para instalarlos, simplemente se descomprimen los archivos en el directorio plugins del proyecto. Si el plugin contiene un subdirectorio llamado web, se copia o se realiza un enlace simbólico a este directorio desde el directorio web del proyecto: Por último, siempre se debe borrar la cache de Symfony después de instalar el plugin.

> cd plugins

> tar -zxpf miPlugin.tgz

> cd ..

> ln -sf plugins/miPlugin/web web/miPlugin

> php symfony cc


Blogalaxia Tags:

08 noviembre 2007

Configurar Symfony

Para simplificar su uso, Symfony define una serie de convenciones o normas que se ajustan a los requisitos habituales de las aplicaciones web estándar. De todas formas, los archivos de configuración, a pesar de ser tan sencillos de utilizar, son lo suficientemente potentes como para personalizar cualquier aspecto del framework y la forma en que interactúan las aplicaciones. También es posible con estos archivos de configuración añadir parámetros específicos para las aplicaciones.

Mecanismo de configuración:

La configuración de Symfony se guarda en archivos escritos con YAML, aunque se puede utilizar otro formato.

En la estructura de directorios del proyecto, existen archivos de configuración a nivel de proyecto, de aplicación y de módulo.

También es posible definir conjuntos de opciones de configuración. En Symfony, un conjunto de opciones de configuración se llama entorno.

Desde cualquier punto del código de la aplicación se puede acceder a los valores establecidos en los archivos de configuración.

Además, Symfony permite utilizar código PHP dentro de los archivos YAML y algún que otro truco más para hacer más flexible el sistema de configuración.

El sistema de configuración de Symfony:

Symfony utiliza solamente lo mejor de los archivos de configuración. De hecho, el objetivo del sistema de configuración de Symfony es ser:

Potente: todo lo que puede ser gestionado con archivos de configuración, se gestiona con archivos de configuración.

Simple: muchas de las características de la configuración no se utilizan habitualmente, por lo que las aplicaciones normales no tienen que tratar con ellas.

Sencillo: los archivos de configuración son sencillos de leer, de modificar y de crear por parte de los desarrolladores.

Personalizable: el lenguaje que se utiliza por defecto en los archivos de configuración es YAML, pero se puede cambiar por archivos INI, XML o cualquier otro formato que prefiera el programador.

Rápido: la aplicación nunca procesa los archivos de configuración, sino que se encarga de ello el sistema de configuración, que compila todos los archivos de configuración en trozos de código PHP que se pueden procesar muy rápidamente.

Convenciones de Symfony:

Symfony utiliza por defecto el formato YAML para la configuración, en vez de los tradicionales formatos INI y XML. El formato YAML indica su estructura mediante la tabulación y es muy rápido de escribir. Según el sitio web oficial de YAML (http://www.yaml.org/), YAML es “un formato para serializar datos que son fáciles de procesar por las máquinas, fácil de leer para las personas y fácil de interactuar con los lenguajes de script”. Dicho de otra forma, YAML es un lenguaje muy sencillo que permite describir los datos como en XML, pero con una sintaxis mucho más sencilla. YAML es un formato especialmente útil para describir datos que pueden ser transformados en arrays simples y asociativos.

Tomado del libro: “Symfony, la guía definitiva”.


Blogalaxia Tags:

29 octubre 2007

Un framework para PHP: Symfony

Symfony es un framework desarrollado completamente con PHP 5, diseñado para optimizar el desarrollo y mantenimiento de aplicaciones Web construidas en este mismo lenguaje y sustituir las tareas de codificación reiterativas por poder, control y placer. Symfony añade una nueva capa encima del lenguaje PHP proporcionando herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación Web compleja. Symfony separa la lógica del negocio de la lógica del servidor y de la capa de presentación de la aplicación Web y automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación.

Symfony ha sido probado en numerosos proyectos reales y se utiliza actualmente para el desarrollo de sitios Web de comercio electrónico de primer nivel. Symfony es compatible con la mayoría de los gestores de bases de datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows.

Symfony se diseñó para que se ajustara a los siguientes requisitos:

  • Fácil de instalar y configurar en la mayoría de las plataformas (y con la garantía de que funciona correctamente en los sistemas Windows y *nix estándares).
  • Independiente del sistema gestor de bases de datos utilizado.
  • Sencillo de usar en la mayoría de los casos, pero lo suficientemente flexible como para adaptarse a los casos más complejos.
  • Basado en la premisa de “convención por encima de configuración”, de modo que el desarrollador solo debe configurar aquello que no es convencional
  • Se adapta con la mayoría de las mejores técnicas y patrones de diseño para la Web
  • Preparado para aplicaciones empresariales, y adaptable a sus políticas y arquitecturas, además de ser lo suficientemente estable como para desarrollar aplicaciones a largo plazo.
  • Código fácil de leer que incluye comentarios de phpDocumentor, permitiendo un sencillo mantenimiento.
  • Extensible, lo que permite su integración con las librerías de otros fabricantes
  • Integración con AJAX.

Para descargar e instalar el framework o para obtener más información sobre Symfony puede consultar: http://www.symfony-project.com


Blogalaxia Tags:

23 octubre 2007

Reportes en J2EE. Ejemplo.

Luego del diseño, los reportes son compilados por las clases de JasperReports creando un fichero .jasper por cada reporte, que luego se muestran en nuestra aplicación. Para mostrar los reportes en el sistema es necesario buscar el .jasper

Por ejemplo:

Map parameters = new HashMap ();

parameters.put ("department_name",

departmentMgrSess.loadDepartment (idAssistantDepartment).getName ());

parameters.put ("department_id", idAssistantDepartment);

ConnectionMgrSess connectionMgrSess = ConnectionMgrSessUtil.getHome().create();

Connection connection = (Connection) connectionMgrSess.getConnection ();

byte [] bytes = JasperRunManager.runReportToPdf(fileName, parameters, connection);


Blogalaxia Tags:

Reportes en J2EE. La Herramienta IReport

La herramienta iReport es un constructor/diseñador de informes, visual, poderoso, intuitivo y fácil de usar para JasperReports, y está escrito en Java. Este instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imágenes, subinformes, etc. iReport está además integrado con JFreeChart, una de las bibliotecas gráficas Open Source más difundida para Java. Los datos para imprimir pueden ser recuperados por varias vías, incluso múltiples uniones JDBC, TableModels, JavaBeans, XML, etc.

Las características más relevantes de iReport son:

  • 100% escrito en Java y además Open Source y gratuito.
  • Maneja el 98% de las etiquetas de JasperReports
  • Permite diseñar con sus propias herramientas: rectángulos, líneas, elipses, campos de los textfields, cartas, y subreportes.
  • Soporta internacionalización nativamente.
  • Browser de la estructura del documento.
  • Recopilador y exportador integrados.
  • Soporta JDBC.
  • Soporta JavaBeans como orígenes de datos (éstos deben implementar la interfaz JRDataSource).
  • Incluye Wizard’s (asistentes) para crear automáticamente informes.
  • Tiene asistentes para generar los subreportes.
  • Tiene asistentes para las plantillas.
  • Facilidad de instalación.

Blogalaxia Tags:

22 octubre 2007

JBoss Seam

Podemos ver Jboss Seam como el framework perdido que debería haber sido incluido en Java EE 5.0. Seam se sienta encima de Java EE 5.0 para proporcionar un consistente y comprensible modelo de programación para todos los componentes en una aplicación Web empresarial.

Los principales Frameworks en Java EE 5.0 son EJB (Enterprise JavaBeans) 3.0 y JSF (Java Server Faces) 1.2.

EJB 3.0 es un framework basado en Plain Old Java Objects (POJO) para servicios de negocios y persistencia de base de datos. El objetivo de los EJBs es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad,...) para centrarse en el desarrollo de la lógica de negocio en sí. El hecho de estar basado en componentes permite que éstos sean flexibles y sobre todo reutilizables. JSF es un framework de desarrollo basado en el patrón MVC (Modelo - Vista – Controlador), JSF pretende normalizar y estandarizar el desarrollo de aplicaciones Web.

La mayor parte de las aplicaciones Web de Java EE 5.0 utilizan ambos Frameworks, EJB 3.0 como módulo para la lógica del negocio y un módulo JSF para la interfaz Web, sin embargo aunque EJB 3.0 y JSF se complementan entre sí ellos están diseñados como frameworks separados, cada uno con su propia filosofía

Seam elemina la capa artificial que existe entre EJB 3.0 y JSF y provee un consistente sistema de anotaciones para integrar estos dos frameworks. En JBoss Seam los datos de los formularios se almacenan en entity beans y los eventos se manejan con session beans. Seam permite a los desarrolladores usar anotaciones POJOs para todos los componentes de la aplicación.

Comparada con aplicaciones desarrolladas en otros frameworks, las aplicaciones Seam son conceptualmente simples y requieren significativamente menos código (en Java y en XML) para obtener las mismas funcionalidades.


Blogalaxia Tags:

16 octubre 2007

Que es .NET?

Hace unos días me preguntaban algunas cosas sobre (.NET), ciertamente hay muchos usuarios que no tiene bien claros algunos conceptos fundamentales sobre esta poderosa plataforma de desarrollo.

Como ya les decía Microsoft .NET es una plataforma de desarrollo y ejecución de aplicaciones que no sólo nos brinda todas las herramientas y servicios que se necesitan para desarrollar aplicaciones empresariales y de misión crítica, sino que también nos provee de mecanismos seguros y eficientes para asegurar que la ejecución de las mismas sea óptima.

Los componentes principales de la plataforma .NET son:

  • Entorno de Ejecución (Runtime)
  • Bibliotecas de Funcionalidad (Class Library)
  • Lenguajes de Programación
  • Compiladores
  • Herramientas de Desarrollo (IDE & Tools)
  • Guías de Arquitectura

Características de Microsoft .NET

  • Plataforma de ejecución intermedia
  • 100% Orientada a Objetos
  • Multilenguaje
  • Plataforma Empresarial de Misión Crítica
  • Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware
  • Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft
  • Se integra fácilmente con aplicaciones desarrolladas en otras plataformas

Ventajas de Microsoft .NET

  • Unifica los modelos de programación
  • Simplifica aún más el desarrollo
  • Provee un Entorno de Ejecución robusto y seguro
  • Es independiente del lenguaje de programación
  • Interoperabilidad con código existente
  • Simplifica la instalación y administración de las aplicaciones
  • Es Extensible

Blogalaxia Tags: