miércoles, octubre 28, 2009

Variables Globales en PHP

Hola Pues resulta que me pase la mañana peliando con PHP y el magestuoso IE6 jajajaja, pues si, resulta que en Firefox corria a la perfección por lo cual estuve pensando por que es que no se gaurdaba mi información al mandar el formulario con IE6, y la respuesta esta en las variables globales.

Resulta que cuando declaramos una variable fuera de cualquier función, pues es una variable global, más sin embargo no funciona igual que en otro lenguaje, pues hay que hacer referencia a dicha variable de la siguiente manera

$GLOBALS["Variable"]

realmente no lo crei necesario, pero usenlo para IE6, es una recomendación, ahora veran este codigo, en azul se encuentra la variable que es necesaria utilizar como global, repito que este problema solo sucedio en IE6, ya que en Firefox funciono a la perfección

include("subida/CovierteJpeg.php");
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
$InMail;
$InMail1;
$InDB;
$InDB1;
session_start();
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) {
// File upload handling
if($_FILES['field_13']['name']!=''){
$field_13_filename = "file_13_".date("sihdmY").substr($_FILES['field_13']['name'],strlen($_FILES['field_13']['name'])-4);
if(move_uploaded_file($_FILES['field_13']['tmp_name'], "../../recibos/".$field_13_filename)){
$type=$_FILES['field_13']["type"];
$ruta="../../recibos/".$field_13_filename;
$nuevo=ConvierteJpeg($ruta,$type);
$GLOBALS["InMail"]=$where_form_is."".$nuevo;
$GLOBALS["inDB"] = str_replace("../../","",$nuevo);
}else{die("File " . $_FILES['field_13']['name'] . " was not uploaded."); }
if ($nuevo=="er")
{
header("Location: error-subida.html");
exit;
}
}

// File upload handling
if($_FILES['field_22']['name']!=''){
$field_22_filename = "file_22_".date("sihdmY").substr($_FILES['field_22']['name'],strlen($_FILES['field_22']['name'])-4);
if(move_uploaded_file($_FILES['field_22']['tmp_name'], "../../cedulas/".$field_22_filename)){
$type1=$_FILES['field_22']["type"];
$ruta1="../../cedulas/".$field_22_filename;
$nuevo1=ConvierteJpeg($ruta1,$type1);
$GLOBALS["InMail1"]=$where_form_is."".$nuevo1;
$GLOBALS["inDB1"] = str_replace("../../","",$nuevo1);
}else{die("File " . $_FILES['field_22']['name'] . " was not uploaded."); }
if ($nuevo1=="er")
{
header("Location: error-subida.html");
exit;
}
}
include("configuration/config.inc.php");
$link = mysql_connect($db_host,$db_user,$db_pass);
if(!$link) die ('Could not connect to database: '.mysql_error());
mysql_select_db($db_name,$link);
/*
utf8_encode($string):Permite mostrar el contenido de la BD para un html
utf8_decode($string):Permite guardar los acentos en la BD
*/
$campo1=utf8_decode($_POST['field_1']);
$campo2=utf8_decode($_POST['field_2']);
$campo3=utf8_decode($_POST['field_3']);
$campo4=utf8_decode($_POST['field_4']);
$campo5=utf8_decode($_POST['field_5']);
$campo6=utf8_decode($_POST['field_6']);
$campo7=utf8_decode($_POST['field_7']);
$campo8=utf8_decode($_POST['field_8']);
$campo9=utf8_decode($_POST['field_9']);
$campo10=utf8_decode($_POST['field_10']);
$campo12=utf8_decode($_POST['field_12']);
$campo14=utf8_decode($_POST['field_14']);
$campo15=utf8_decode($_POST['field_15']);
$campo16=utf8_decode($_POST['field_16']);
$campo17=utf8_decode($_POST['field_17']);
$campo18=utf8_decode($_POST['field_18']);
$campo19=utf8_decode($_POST['field_19']);
$campo20=utf8_decode($_POST['field_20']);
$campo21=utf8_decode($_POST['field_21']);
$query = "INSERT into `".$db_table."` (field_1,field_2,field_3,field_4,field_5,field_6,field_7,field_8,field_9,field_10,field_11,field_12,field_13,field_14,field_15,field_16,field_17,field_18,field_19,field_20,field_21,field_22) VALUES ('" . $campo1 . "','" . $campo2 . "','" . $campo3 . "','" . $campo4 . "','" . $campo5 . "','" . $campo6 . "','" . $campo7 . "','" . $campo8 . "','" . $campo9 . "','" . $campo10 . "','" . $_POST['field_11'] . "','" . $campo12 . "','" . $GLOBALS["inDB"] . "','" . $campo14 . "','" . $campo15 . "','" . $campo16 . "','" . $campo17 . "','" . $campo18 . "','" . $campo19 . "','" . $campo20 . "','" . $campo21 . "','" . $GLOBALS["inDB1"]. "')";
mysql_query($query);
mysql_close($link);

mail("dzipiri@gmail.com","Información de registro","Estos son tus datos de registro:

Apellido Paterno: " . $_POST['field_1'] . "
Apellido Materno: " . $_POST['field_2'] . "
Nombre(s): " . $_POST['field_3'] . "
Correo Electronico: " . $_POST['field_4'] . "
Organización: " . $_POST['field_5'] . "
Teléfono: " . $_POST['field_6'] . "
Estudios: " . $_POST['field_7'] . "
Tipo de Asistente: " . $_POST['field_8'] . "
Estado: " . $_POST['field_9'] . "
Ciudad: " . $_POST['field_10'] . "
Fecha de Nacimiento: " . $_POST['field_11'] . "
No. Recibo: " . $_POST['field_12'] . "
Recibo Bancario: ".
$GLOBALS["InMail"] . ")
Razón Social: " . $_POST['field_14'] . "
Dirección Fiscal: " . $_POST['field_15'] . "
Código Postal: " . $_POST['field_16'] . "
RFC: " . $_POST['field_17'] . "
Télefono: " . $_POST['field_18'] . "
Fax: " . $_POST['field_19'] . "
Ciudad: " . $_POST['field_20'] . "
Estado: " . $_POST['field_21'] . "
Cédula Fiscal: ".
$GLOBALS["InMail"] . ")


");

header("Location: ../../confirm.html");
}
else {
header("Location: error-codigo.html");
}


Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

Guardar acentos en una base de datos con PHP

Hola que tal, esta ves se me presento un problema, resulta que mi intensión era poder guardar la información desde un formulario en un Base de datos, todo iba perfecto hasta que nos dimos cuenta que los acentos no se guardaban, en este caso encontre una solución, de la cual espero les sirva, y si conocen una mejor posteen, gracias

utf8_encode($string):Permite mostrar el contenido de la BD para un html
utf8_decode($string):Permite guardar los acentos en la BD

Por tanto, lo que es necesario hacer es:

$campoX=utf8_decode($_POST['campoX']);

$query = "INSERT into `".$db_table."` (field_1) VALUES ('" . $campoX . "')";

realmente muy sencillo, pero funciona.

Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

lunes, octubre 26, 2009

Servidor FTP en Fedora 10

Servidor FTP Fedora Core 10













































Instalar un servidor FTP en Fedora es de lo más sencillo, sin embargo vamos hacerlo de la mejor manera para que los usuarios solo tengan acceso a la carpeta especifica, para ello se ha escrito esta pequeña guiá de referencia, siga los pasos y éxito.

1.- Debe abrir una ventana de consola, podrá encontrarla de las siguientes dos formas:
a)Escriba la combinación de teclas Alt + F2, se abrirá la ventana de ejecución, escriba como en la imagen y de Ejecutar

b) Con el uso del modo gráfico, siguiendo esta ruta: Menú Inicio --> Herramientas del Sistema-->Terminal.

Entonces inicia la terminal, con la cual vamos a trabajar


2.- El paso siguiente es Loguearse como SuperUsuario, esto para poder realizar instalaciones o configuraciones, es muy sencillo, lo único que debes hacer poner los comandos como se muestra en la imagen, al poner su darás Intro o Enter, aparecerá la leyenda Contraseña: aquí debes escribir la contraseña de root o Administrador y luego dar Enter.

3. Ahora si se procede a ejecutar el comando de instalación, recuerde que el parámetro -y indica que aceptamos las condiciones, sea esta descarga e instalación. El comando es completo es el siguiente: yum install -y vsftpd

Ya que ha quedado instalado el servidor FTP, realizaremos unas configuraciones muy útiles planteando lo siguiente.



Usuario: Prueba
Acceso a su directorio: /var/www/html/Prueba
Sin shell en el sistema y en un entorno chroot
Pass: sxb34H.-

Usuario: CancunProjects
Acceso a su directorio: /var/www/html/CancunProjects
Sin shell en el sistema y en un entorno chroot
Pass:rh0+.Tj

Usuario: Administrador
Acceso a su directorio: /var/www/html
Sin shell en el sistema y en un entorno chroot
Pass:J&j.87k+L




4. Primero se va crear un grupo al cual se le pondrá el nombre FTP, puede ser cualquiera

5. Se crean los usuarios con las características antes mencionadas, esto se realiza con el comando useradd, usando los siguiente parametros -g que indica el grupo, -d el directorio y -c se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.


6. Bien, para que funcione debemos crear contraseña a cada usuario, por lo cual usaremos el comando passwd

7.- Ahora crearemos un Shel Fantasma, vamos a crear el directorio /bin/ftp

8. A continuación se debe editar el archivo shells que se encuentra en la carpeta etc y agregar el directorio, de la siguiente manera.

Aparecerá el Gedit con el archivo shells ya cargado agregá la linea que se muestra, guarde y cierre par continuar


9. Ahora se debe configurar el archivo que se encuentra en /etc/passwd, buscar donde se haya agregado nuestros usuarios y agregar la carpeta como se muestra a continuación.

10. Ahora a configurar el programa, para ello debemos abrir el archivo de configuración de vsftpd que se encuentra en /etc/vsftpd/vsfypd.conf
Aquí esta lo que debe ir en el archivo:


# Example config file /etc/vsftpd/vsftpd.conf
#Escuchando
listen=YES
# conexiones anonimas
anonymous_enable=NO
#
# Acceso Local
local_enable=YES
#
# Escritura Local
write_enable=YES
#
#Configuracion UMASK
local_umask=003
#
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
#
# Se descomenta esto para crear una jaula
chroot_local_user=YES
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#
# Debian customization
# secure_chroot_dir=/var/run/vsftpd
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
#rsa_cert_file=/etc/ssl/certs/vsftpd.pem
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO

11. A continuación creamos el fichero vsftpd.chroot_list el cual tendrá la lista de usuarios que no tendrán acceso al servidor:



12. Volcamos los datos a este fichero desde etc/password con el comando.
cat /etc/passwd | awk -F: '{ print $1 }' > /etc/vsftpd.chroot_list



Esto nos genera un fichero con los login de usuarios del sistema del cual quitamos los que si queremos que tengan acceso y los ponemos en el fichero /etc/vsftpd.user_list.

Esto con Gedit, abra ambos archivos y elimine los usuario de chroot_list ya que aquí no podrán tener acceso y paselos a user_list. Con esto queda configurado su servidor FTP

jueves, octubre 01, 2009

Instalar HTTP (Apache) en Fedora 10

Servidor HTTP
Fedora Core 10

A continuación se muestra como instalar el http en Fedora Core 10, es un manual muy sencillo, sin embargo va de la mano con el FTP.

Generalmente el servidor Apache que provee el servicio de Web ya viene instalado en el Fedora Core 10, sin embargo en caso de no ser así, debe seguir los siguientes pasos.

1.- Debe abrir una ventana de consola, podrá encontrarla de las siguientes dos formas:
a)Escriba la combinación de teclas Alt + F2, se abrirá la ventana de ejecución, escriba como en la imagen y de Ejecutar


b) Con el uso del modo gráfico, siguiendo esta ruta: Menú Inicio --> Herramientas del Sistema-->Terminal.

Entonces inicia la terminal, con la cual vamos a trabajar

2.- El paso siguiente es Loguearse como SuperUsuario, esto para poder realizar instalaciones o configuraciones, es muy sencillo, lo único que debes hacer poner los comandos como se muestra en la imagen, al poner su darás Intro o Enter, aparecerá la leyenda Contraseña: aquí debes escribir la contraseña de root o Administrador y luego dar Enter.

3. Primero vamos a probar si ya esta instalado el HTTP en el sistema, por lo cual para activarlo se pondrá el siguiente comando: chkconfig –level 2345 httpd on de marcar un error realiza el paso siguiente, sino pasa al numero 5.

4. En caso de que no se haya marcado un error el paso anterior, deberas instalar el servicio, por lo cual basta con escribir el comando yum install -y httpd con esto quedará instalado

5.- Muy bien ahora vamos a iniciar el servicio, claro hay que mencionar que existen tres comandos para usar este servicio start=Iniciar, stop:parar y restart=reiniciar; el comando es el siguiente: service httpd start

6. Si todo a resultado correcto es hora de probar el resultado en tu navegador preferido, en este caso usamos Firefox, debes escribir la dirección http://localhost o http://127.0.0.1 ya que es la que tiene por defecto el archivo de configuración

Para concluir, mencionaremos lo siguiente, el archivo de configuración del apache se encuentra en /ect/httpd/conf/httpd.conf en dicho archivo usted puede modificar las siguientes directivas:

ServerRoot. Define el directorio donde se encuntran los archivos de configuración, no lo mueva
DocumentRoot. Define la carpeta donde se alojaran los archivos que se van a mostrar, la carpeta por defecto es /var/www/html, sin embargo la puede cambiar.
Maxclients. Numero maximo de conexiones simultaneas
Listen. Permite enlazar Apache a determinadas IP o puertos, generalmente escucha en el 80

El problema lo encontraremos al intentar escribir información en la carpeta /var/www/html por consiguiente hay que poner permisos de usuario, para ello podemos usar el comando chmod como se explica a continuación:

u usuario al que pertenece el archivo
o otros usuarios

+ agregar permisos
- quitar permisos
= igualar permisos

x permisos de ejecución
w permisos de escritura
r permisos de lectura

Ahora bien en que cada directorio puede ser un dominio y pensando en que sobre esa carpeta se va trabajar y enviar información mediante FTP, entonces es mejor crear una nueva carpeta por cada dominio, como se muestra en las siguientes imagenes.
Para hacerlo debe estar como SuperUsuario, y acceder a la carpeta /var/www/html mediante el comando cd, luego crear el directorio con mkdir, puede verificar que se a creado la carpeta con el comando dir y finalmente establezca que otros usuarios a parte del propietario que es root puedan tener acceso a esa carpeta.


Nota: Recuerde que el archivo que se debe poner para que se ejecute por defecto debe llevar por nombre index y debe ser de extensión htm, html o php.



Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

sábado, febrero 28, 2009

Seguimiento de tu Web (Google Analytics)



Algun día en nuestra existencia nos hemos preguntado sobre los contadores de visitas, y que sería padre tener el control y saber cuantas personas han visitado nuestro sitio, eso sería genial; pues eso no es un sueño, ni la gran complejidad, gracias de nuevo a nuestro amigo Google y su herramienta Analytics, esta herramienta es muy buena, ralmente la recomiendo mucho y como siempre solo basta con tener una cuenta Google para tener acceso a estos beneficios, y activar nuestra cuenta en Analytics, y una vés iniciada la sesión, manos a la obra.

1. Iniciando sesión.


2. A continuacion registraremos un sitio para rastrear, esto sera muy sensillo, busque la opción

3. Establezca correctamente los datos que se le piden, especialmente la url o dominio del sitio


Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

jueves, febrero 12, 2009

Meta Tags

Hola que tal en esta ocación les hablare sobre las meta tags, un elemento clave para el posicionamiento e indexado en buscadores.

Segun la wikipedia una metatag es:
Las metatags son etiquetas html que se incorporan en el encabezado de una página web y que resultan invisibles para un visitante normal, pero de gran utilidad para navegadores u otros programas que puedan valerse de esta información. Su propósito es el de incluir información (metadatos) de referencia sobre la página: autor, título, fecha, palabras clave, descripción, etc. Esta información podría ser utilizada por los robots de búsqueda para incluirla en las bases de datos de sus buscadores y mostrarla en el resumen de búsquedas o tenerla en cuenta durante las mismas y será invisible para un visitante normal.

Estos elementos debe incluirse ya que seran mostrados cuando haga una busqueda con su url, ahora muestro un ejemplo

Esta información bien presentada se logra a través de un buen manejo de meta-tags, para lograr esto hay que escribir los metas entre las etiquetas head , de preferencia despues de las etiquetas title, puede incluirla en su plantilla para generar las descripciones, en todo el sitio, en este caso hice la prueba en blogspot, es muy sencillo solo dirigase a la pestaña diseño->edicion html y escriba las etiquetas, pero si esto resulta un problema le recomiendo un sitio llamado aemilus.net rellene los datos y pegue.
y así debe queder en su archivo html.
Bueno con esto podría mejorar las visitas a su sitio, la proxima hablare del rastreo de visitas con la herramienta que nos brinda google, Google Anaylitics.

Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

martes, diciembre 02, 2008

BD + PHP + MySQL conexiones y solucion

Hola que tal pues, hasta que regreso por aquí ya los tenia abandonados que no, jeje, pues esta vés les regalare un pequeño framework, bueno no tanto así, es un entorno de trabajo de BD, aun muy básico, pero pues iremos mejorando y añadendo funcionalidades, espero sus comentarios de JetBD, en cuanto respuesta, uso y fácilidad.

Descarga aquí JetBD

Funciones
Connect_BD(nombre_host, nombre_usuario,contraseña_usuario,nombre_BD). Le permite conectarse a una base de datos
Close_BD(). Le permite terminar una sesion de BD, termina una conexión.
Insert(nombre_tabla,campos,valores). Permite insertar datos en una tabla, previa conexion echa
Delete(nombre_tabla,condición). Permite eliminar datos de una tabla a partir de una condicion.
Num_fs(nombre_tabla,Campos). Retorna el numero de campos a partir de una consulta en una tabla.
Name_fs(nombre_tabla, Campos, Orden). Retorna un arreglo con el nombre de los campos ordenador por el campo establecido.
Num_row(nombre_tabla,campos). Devuelve el numero de registros que hay en una tabla.
Show(nombre_tabla,Campos,Orden). Retorna una matriz con los registros dados en el orden establecido.
Seek(nombre_tabla,Campos,Orden,Condicion). Realiza una busqueda de acuerdo a la condicion y retorna una matriz con los registros ordenados con el campo elegido.

Es un desarrollo aun ni en pañales pero pues con más tiempo agregare más funciones, con el fin de un mejor desempeño.

Para usarlo debe incluir la libreria y crear un objeto.

Ejemplo de uso:


include(JetBD.php);
$consulta=new BD();
$consulta->Connect_BD("localhost","julian","pelos08","ralove");
echo "

";
echo $consulta->Insert("coment","ID, Nombre, Correo, Modulo, Comentario","'2', 'Pedro', 'mdkd@nksn.com', 'Woer', 'Hey pwjjw'");
echo "

";
echo $consulta->Delete("coment","ID=2");
echo "

";
echo $consulta->Num_fs("coment","*");
echo "

";
foreach ($consulta->Name_fs("coment","*","ID") as $actual)
echo $actual . "
";
echo $consulta->Num_row("coment","*");
echo "

";
echo "";
while ($r<$consulta->Num_row("coment","*"))
{
$f=0;
echo "";
while($f<$consulta->Num_fs("coment","*"))
{
echo "";
$f++;
}
echo "";
$r++;
}
echo "
";
$m=$consulta->Show("coment","*","ID");
echo $m[$r][$f];
echo "
";
//prueba de busqueda
echo "

";
$r=0;
echo "";
while ($r<$consulta->Num_row("coment","*"))
{
$f=0;
echo "";
while($f<$consulta->Num_fs("coment","*"))
{
echo "";
$f++;
}
echo "";
$r++;
}
echo "
";
$m=$consulta->Seek("coment","*","ID","ID>5");
echo $m[$r][$f];
echo "
";
?>

Espero sea de su ayuda, pasen buen día espero sus comentarios

Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

miércoles, octubre 08, 2008

Timer, retardo y ahorro de memoria en Java

Hola que tal, pues esta vés explicaremos el uso de un timer en Java, es realmente muy sencillo, un timer consta de dos partes, el tiempo de retardo y las acciones que se ejecuran, en esta ocación hablaremos del Timer incluido en la libreria javax.swing.Timer, bueno es muy sencillo primero que nada se declara el objeto Timer, puede importar la libreria (import javax.swing.Timer), o bien hacerlo del modo largo para ahorro de memoria, que es el que se usara en este ejemplo, preste mucha atención. luego crearle el evento como se vera en la estructura completa.

javax.swing.Timer timer;
timer=new javax.swing.Timer
(
/*Retardo en milisegundos esto no va*/1000,new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
//Instrucciones que realizara el Timer
}
}
);


Cabe mencionar que si no cuentas con algun contenido o una ventana, se cerrara el programa sin ejecutar el timer para ello debes agregar un retardo como el siguiente.

try
{
Thread.currentThread().sleep (10000);
} catch (Exception e)
{
}



y bueno el ejemplo que se maneja a continuación ara que una etiqueta gire al rededor de la ventada, bueno acá esta el codigó espero sus comentarios y resolvere dudad, hasta pronto.

public class Obj_Mov
{
//Declaraciones
javax.swing.Timer timer;//El timer
java.awt.Frame ventana;//La ventana
java.awt.Label etiqueta;//La Etiqueta
int Retardo=1000,izq=10,der=385,sup=35,inf=385,conth=10,conv=35;
public Obj_Mov()
{
//Procedimiento de Timer
timer=new javax.swing.Timer
(
Retardo,new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
//Instrucciones que realizara el Timer
avanzar_derecha(conth,etiqueta);
avanzar_abajo(conv,etiqueta);
avanzar_izquierda(conth,etiqueta);
avanzar_arriba(conv,etiqueta);
}
}
);


ventana=new java.awt.Frame("Mi Ventana");
ventana.setBackground(java.awt.Color.black);
ventana.setBounds((1024/2)-200,(768/2)-200,400,400);
ventana.setLayout(null);
ventana.setVisible(true);
ventana.setResizable(false);
ventana.addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent e)
{
System.exit(0);
}
});

etiqueta= new java.awt.Label("*");
etiqueta.setBackground(java.awt.Color.cyan);
etiqueta.setBounds(10,35,5,5);
ventana.add(etiqueta);



timer.start();

}

public void avanzar_derecha(int contador,java.awt.Label cosa)
{
while (contador<=der)
{
cosa.setBounds(contador,35,5,5);
++contador;
}
conth=contador-1;
}

public void avanzar_abajo(int contador,java.awt.Label cosa)
{
while (contador<=inf)
{
cosa.setBounds(385,contador,5,5);
++contador;
}
conv=contador-1;
}

public void avanzar_izquierda(int contador,java.awt.Label cosa)
{
while (contador>=izq)
{
cosa.setBounds(contador,385,5,5);
--contador;
}
conth=contador+1;
}

public void avanzar_arriba(int contador,java.awt.Label cosa)
{
while (contador>=sup)
{
cosa.setBounds(10,contador,5,5);
--contador;
}
conv=contador+1;
}
public static void main (String a[])
{
Obj_Mov uno= new Obj_Mov();

/*Si no hay nada màs que el texto esto se para, pero se puede retardar con esto
try
{
Thread.currentThread().sleep (10000);
} catch (Exception e)
{
}
*/
}
}




Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

miércoles, octubre 01, 2008

Condicion Simple en Java (If en Java)

Buenos día un saludo, en esta ocación trabajaremos con las condiciones en java, en particular la sentencia IF. Una sentencia no es más que una toma de decisión, una decisión se toma cada vés, por ejemplo, puedes decidir venir o no a la escuela, decidir si ir al cine o no, en resumen, una decision consta de un factor que determina el planteamiento de un cuestionamiento, punto de partida para la toma de desicion y dos respuestas, una verdadera y una falsa.
Una condicion bien planteada debe contener condicionante, valor verdadero y valor falso. Un ejemplo bien planteado sería:
Supongase que se debe dirigir a un lugar especifico, para llegar a este lugar tiene dos opciones en taxi o en Bus.

ahora usted sabe que existen esos dos medios pero como saber cual usar, para ello entonces debemos establecer una condicionante que permita tomar dicha decisión, supongamos que el factor que determinara esto sera el tiempo, pero aun así es muy ambigüo, para ello entonces vamos a establecer una hora, supongamos que nuestra hora de entrada son las 8:00 am, bien dada esta situación y de acuerdo a los tiempos del transporte se puede tomar una decisión, en BUS llega en 30 min y el taxi en 15 min, ahora cual seria la condición.

Si falta 30 minutos para las 8 entonces se toma el Bus y de lo contrario se tomara un Taxi
La pregunta entonces sería, ¿Cual es cada uno de los factores en esta condición? Condicionante.- Que el tiempo faltante a la hora de entrada sea mayor o igual a 30 min Valor Verdadero.- El transporte sera Bus Valor Falso.- El transporte sera Taxi.

El problema que se tiene es como representar las condiciones de tal forma que el Lenguaje pueda entenderlo, para ello existen los operadores Mayor que (>), menor que (>) , igual (=), mayor o igual (>=) , menor o igual(<=) o el diferente (!=). De acuerdo a ellos es como se planteara la condicionante. de tal forma que ahora lo convertimos a una expresión entendible al lenguaje.
Condicionante.- Faltante<30
Valor verdadero.- El transporte es: Taxi
Valor Falso.- El transporte es: Bus


Ahora que tenemos las partes de la condición llega lo más importante, como representar esto con la sentencia if en Java, bien pues la sintaxis es la siguiente:

if (Condicionante)
{
instrucciones verdaderas.
}
else
{
instrucciones falsas.
}

Entonces la condicionante va entre parentesis, los primeros corchetes pertenecen al valor verdadero y despues viene una instrucción else, que significa sino, osea que si no se cumple la condición entonces van corchetes y se ejecutan las instrucciones falsas.

Nota: las llaves pueden ser omitidas cuando se trata de una sola instrucción, pero no cuando se trabaja con dos o más instriucciones.
Cree su archivo Bus_O_Taxi.java y pruebe el ejemplo siguiente:


Se menciono que los operadores pueden modificar el planteamiento de la condiconante, para ello pruebe el siguiente ejemplo:


Gracias por su lectura, agradecere tu comentario,
atte The Dzip.