Welcome

Proyecto SRLinux (Mueble Rockola)

Aqui les presento una serie de imagenes del diseño del mueble que se construyo

para la demostración del software sobre la plataforma linux.

El mueble todavia falta por terminarse pero aqui esta la presentacion previa de dicho mueble

para que tambien vean como fue construyendose.

Estare haciendo mas publicaciones de los avances que se tenga sobre dicho proyecto hasta

pronto en el siguiente post.

Tutorial Sobre Colecciones en Java (III)

Objetos List

Un Objeto List(conocido como secuencia) es un Objeto Collection ordenado que puede contener elementos duplicados. Al igual

que los inidices de arreglos, los indices de objetos List empiezan desde cero (es decir, el indice del primer elemento es

cero).

La interfaz List es implementada por varias clases, incluyendo ArrayList, LinkedList y Vector. La Clase ArrayList es una implementacion de un objeto List como arreglo que puede modificar su tamaño que a acontinuacion veremos un ejemplo del uso de este objeto.

A continuacion veremos el uso de este objeto mejor con un ejemplo que se muestra abajo.

import java.awt.Color;

import java.util.*;

public class PruebaLista {

private static final String colores[]={“rojo”,“blanco”,“azul”};

linda

public PruebaLista()

{

int i;

List lista=new ArrayList();

lista.add(Color.MAGENTA);

for(i=0;i<colores.length;i++){

lista.add(colores[i]);

}

lista.add(Color.CYAN);

System.out.println(“Mostrar el Contenido de la Lista”);

for(i=0;i<lista.size();i++){

System.out.println(""+lista.get(i));

}

eliminarObjetosString(lista);

System.out.println(“Mostrar el Contenido de la Lista despues de llamar a eliminarObjetosString”);

for(i=0;i<lista.size();i++){

System.out.println(""+lista.get(i));

}

}

public void eliminarObjetosString(Collection coleccion){

Iterator iterador=coleccion.iterator();

while(iterador.hasNext()){

if(iterador.next() instanceof String)

iterador.remove();

}

}

public static void main(String agrs[]){

PruebaLista l=new PruebaLista();

}

}

Tutorial de Programacion en Gambas (I)

Empezaremos una serie de Tutoriales de programacion en gambas en cual se guiara al programador principiante saber lo basico hasta algo mas avanzado.

Declaración de Variables

Basicamente hay dos lugares donde se pueden declarar las variables en gambas esto dependiendo del uso que se le quiere dar a la variable. Se pueden declarar dentro de una subrutina o funcion, esta ultima declaracion de variables solo tendran uso en esa subrutina o funcion. Si se declaran en la parte inicial ya sea en un modulo o clase estaran disponibles esas variables para ese archivo en todas sus funciones o subrutinas.

1. Sintaxis de declaración de una variable:

DIM nombre_variable AS tipo_variable
tipo_variable: es el tipo de dato de nuestra variable ya sea entero,cadena,decimal,booleano,etc.

En este tipo de declaracion que se vio anteriormente este es valida dentro de subrutinas o funciones.

2. Sintaxis de la declaracion de una variable:

[STATIC]( PUBLIC | PRIVATE ) AS tipo_variable
Estas ultimas declaraciones de variables ya sea PRIVATE, PUBLIC O STATIC especialmente se usan cuando uno crea una clase en gambas.

SUBRUTINAS O FUNCIONES
Subrutina: Es un procedimiento que ejecuta algo pero no devuelve ningun tipo de valor se identifican en gambas por la palabra Reservada SUB y no tiene RETURN.

Funcion: Es un procedimiento que devuelve algo se identifica por la palabra reservada FUNCTION y tiene RETURN.

TIPOS DE DATOS
Los tipos de datos soportados por Gambas, son los siguientes:

Boolean: Solo acepta valores True o False.

Byte: Representa un numero entero positivo entre 0 y 255.

Short: Representa un numero entero con valores posibles entre ­-32.768 y +32.767.

Integer: Representa un numero entero con valores posibles entre ­-2.147.483.648 y

+2.147.483.647.

Long: Representa un numero entero con valores posibles entre:

-9.223.372.036.854.775.808 y +9.223.372.036.854.775.807

Single: Representa un numero real, con decimales, con valores posibles entre

-1.7014118E+38 y +1,7014118E+38.

Float: Representa un numero real, con decimales, con valores posibles entre

-­8,98846567431105E+307 y + 8,98846567431105E+307.

Date: Almacena valores de fecha y hora. Internamente la fecha y la hora se

almacenan en formato UTC.

String: Se usa para almacenar una cadena de texto.

Variant: Significa cualquier tipo de dato, es decir, se puede almacenar integer, single,

boolean, etc.

Object: representa cualquier objeto creado en Gambas.

CONVERSION DE TIPOS DE DATOs

El tema siguiente se veran las funciones que tiene gambas para la conversion de distintos tipos de datos

1. Cbool(expresion): Convierte la expresion a un valor boleano.

Ejemplo Cbool(expresion) te devolvera 'true' o 'false'.

2. Cshort(expresion),Cint(expresion),Cinteger(expresion),Clong(expresion): convierte la expresion en short,int o en long.

3. Cdate(expresion) Convierte una expresión en un valor

4. CStr(expresion) Convierte una expresión en una cadena.

5. Val(expresion) Convierte una cadena en un booleano, número o fecha, de acuerdo con el contenido de la cadena.

6. Str$(expresion) Convierte la expresion en una cadena de texto.

Tutorial Sobre Colecciones en Java (II)

Ver un Objeto Array como objeto List

La clase Arrays proporciona el metodo estatico asList para ver un arreglo como una coleccion List . A continuacion se mostrara el detalle con un ejemplo para ver su funcionamiento. Crearemos una clase que se llamara “UsoAsList” que contendra dos atributos uno que sera el arreglo que lo llamaremos “valores” y el otro atributo va ser la lista que la llamaremos “lista”.

A continuacion vemos las sintaxis del uso de este metodo: Este metodo le pasas el parametro arreglo y te devuelve un objeto lista.

Sintaxis Arrays.asList(arreglo);

Ejemplo de uso de este metodo a continuacion:

import java.util.*;

public class UsoAsList {

private static final String valores[]={“rojo”,“blanco”,“azul”};

private List lista;

// inicializo objeto List y establecer valor en ubicacion 1

public UsoAsList(){

lista=Arrays.asList(valores);

lista.set(1,“verde”); // valor afecta tanto al arreglo como lista

}

// mostrar objeto List y arreglo

public void imprimirElementos(){

System.out.println(“Elementos del objeto List: ”);

for(int i=0;i<lista.size();i++){

System.out.println(lista.get(i));

}

System.out.println(“Elementos del arreglo: ”);

for(int i=0;i<valores.length;i++){

System.out.println(valores[i]);

}

}

public static void main(String args[]){

UsoAsList l=new UsoAsList();

l.imprimirElementos();

}

}

Tutorial Sobre Colecciones en Java (I)

La Clase Arrays

Una Coleccion es una estructura de datos(objeto) que puede guardar referencias a otros objetos.

La implementacion de colecciones se crean cuidadosamente para obtener una ejecucion rapida y un uso eficiente de la memoria; ademas fomentan la reutilizacion de software al proporcionar una funcionalidad conveniente.

Las interfaces del marco de trabajo de colecciones declaran las operaciones se realizarán en forma genérica en varios tipos de colecciones. Algunas de las interfaces son Collection, Set, List y Map en siguientes tutoriales se veran la implementacion de las mismas

En este tutorial veremos la implementacion de la Clase Arrays y unos metodos de dicha clase.

Lo primero que vamos hacer es crear una Clase que se llame Numero

como se ve en lo siguiente donde crearemos dos arreglos para uso de los metodos de la Clase Arrays.

import java.util.*;

public class Numero {

private int valores[]={15,12,2,4,25,12};

private int valores1[]={15,12,2,4,25,12};

public Numero(){

}

}

El siguiente paso es agregarle un metodo a la clase donde muestre el arreglo valores en la forma desordenada el metodo se ve a continuacion

public void desordenado(){

int i;

System.out.println(“Desordenado”);

for(i=0;i<valores.length;i++){

System.out.print(valores[i]);

System.out.print(“,”);

}

System.out.println("");

}

El siguiente paso es agregar un metodo a la clase para probar los metodos de la Clase Arrays que se usa para ordenar los elementos de forma ordena de menor a mayor.

Sintaxis Arrays.sort(arreglo);

public void ordenado(){

int i;

Arrays.sort(valores);

System.out.println(“Ordenado”);

for(i=0;i<valores.length;i++){

System.out.print(valores[i]);

System.out.print(“,”);

}

System.out.println("");

}

El siguiente paso es agregar un metodo a la clase para probar los metodos de la Clase Arrays que se usa para buscar un elemento en el arreglo.

Sintaxis Arrays.binarySearch(arreglo,valorEncontrarArreglo);

public void buscar(int a){

int valor;

valor=Arrays.binarySearch(valores,a);

if(valor>=0){

System.out.println(“Encontrado ”+a+“ en el elemento ”+valor);

}

else

System.out.println(“No encontrado”);

}

El siguiente paso es agregar un metodo a la clase para probar los metodos de la Clase Arrays que se usa para comparar dos arreglos si son iguales.

Sintaxis Arrays.equals(arreglo,arreglo1) devuelve true si son iguales o false si no son iguales.

public void igual(){

if(Arrays.equals(valores,valores1)){

System.out.println(“Iguales”);

}

else

System.out.println(“No iguales”);

}

El siguiente paso es agregar otro metodo a la Clase Numero para probar los metodos de la Clase Arrays que se usa para colocar valores en un arreglo.

Sintaxis Arrays.fill(arreglo,principio,final,valorAgregarArreglo)

public void cambiarValores(){

int i;

Arrays.fill(valores1, 1,2,5);

for(i=0;i<valores1.length;i++){

System.out.print(valores1[i]);

System.out.print(“,”);

}

System.out.println("");

}

El ejemplo de la clase completa lo puede descargar desde el siguiente link

Hasta aqui termina este tutorial de explicacion de colecciones en java parte de la Clase Arrays mas adelante se continuara con el curso de colecciones se explicaran otras

clases.

Programando Carrito de Compras (I)

1. Lo primero que tenemos que hacer es la creacion de nuestra base de datos para este caso usaremos mysql. Ya dentro de la consola de mysql.

> CREATE DATABASE gamelist;
2. Lo siguiente es crearle una tabla a la base de datos a continuacion se describe

CREATE TABLE `productos` (

`id` int(11) NOT NULL auto_increment,

`titulo` varchar(100) NOT NULL default 'Untitled',

`descripcion` text NOT NULL,

`precio` decimal(8,2) NOT NULL default '0.00',

`imagen` varchar(50) NOT NULL default 'nophoto.jpg',

PRIMARY KEY (`id`)

);

Ya que tenemos esto creado lo anterior procederemos a la creacion de nuestra primera funcion de conexion con el servidor y seleccion de la base de datos creada anteriormente.

3. Creamos un archivo que le llamaremos conexion.php el cual se le agregara la siguiente funcion que a continuacion se detalla

function conexion(){

$conectar=mysql_connect('localhost','usuarioBaseDatos','contraseñaUsuario');

if(!$conectar){

return false;

}

if(!mysql_select_db('gamelist')){

return false;

}

return $conectar; }

Explicacion de esta funcion regresa un valor booleano si es true exito en la conexion con el servidor y seleccion de base de datos si devuelve false error de conexion.

4. Al archivo conexion.php le agregaremos otra funcion para mostrar todos los productos

function encontrar(){

conexion();

$query=“SELECT * FROM productos order by productos.id DESC”;

$resultado=mysql_query($query);

$resultado=db_result_ti_array($resultado);

return $resultado;

}

Esta funcion regresa un arreglo de todos los productos de la base de datos ordenada descendentemente.

5. Al archivo conexion.php le agregaremos otra funcion que creara un arreglo de los datos consultados.

function db_result_ti_array($resultado){

$res_array=array();

for($i=0;$row=mysql_fetch_array($resultado);$i++){

$res_array[$i]=$row;

}

return $res_array;

}

6. Al archivo conexion.php le agregaremos otra funcion que realiza una consulta de los productos por id

function encontrar1($id){

conexion();

$query=“SELECT * FROM productos WHERE productos.id='$id'”;

$resultado=mysql_query($query);

$row=mysql_fetch_array($resultado);

return $row;

}

Esta funcion encuentra un producto por id y devuelve un arreglo.

Seguire haciendo publicacion de post de este proyecto apenas es el comienzo.

Instalacion php5 + apache2 + mysql5

1 Instalaremos el apache con el siguiente comando

$ sudo apt-get install apache2

2. Instalaremos el php

$ sudo apt-get install php5

3. Instalaremos el mysql

$ sudo apt-get install mysql-server-5.0

4. Instalacion de las librerias para que puedan interaccionar el php como modulo de apache y que php tenga las librerías para acceder a mysql.

sudo apt-get install libapache2-mod-php5 php5-gd php5-mysql libapache2-mod-auth-mysql

Proyecto Carrito Compras

Este post tiene que ver con un proyecto que me gusto realizarlo aunque faltan detalles de navegación no se algo de estilos pero lo ire mejorando con el uso de ajax también aquí nomás mostrare unas imágenes de dicho carrito de compras y mas adelante publicare post donde detallare lo que se realizo y explicación de todas las funciones de php.

Esta es la Pagina Principal del Carrito de Compras de VideoJuegos.com

La Siguiente Imagen se mostrara la pagina de login de Administración del Sitio

En la siguiente imagen se muestra el Menú de Administración del Sitio.

Proyecto SRLinux

Aquí se harán publicaciones de este proyecto realizadó en la escuela donde estuvé Instituto Tecnologico Superior de Zapopan para el cumplimiento de mi residencia profesional, aunque el proyecto nacio para dar una solución libre que cualquiera tuviera acceso ya que no existen muchos software para rockola que sea libres asi como dar soluciones a usuarios que gustan de entretemiento de musica, video y karaoke.