Esta clase sirve para conectar un proyecto Web en asp con C# con la base de datos Postgresql, se debe reemplazar el nombre de la base de datos, el usuario y la contraseña, y se da la ruta del servidor, si es local se deja localhost, esta clase tiene el puerto por defecto de la base de datos.
Tiene metodos y atributos estaticos, o sea que no se instancia.
Recuerda que para usar esta clase debes tener la libreria Npgsql para la conexion del proyecto con la base de datos. En esta pagina puedes bajarla:
http://npgsql.projects.postgresql.org/
public class Conexion
{
private static string connection = "server=localhost; port=5432;" +
"Database=db;" +
"User ID=usuario;" +
"Password=contraseña;";
private static IDbConnection connect;
private static IDbCommand comando;
public static IDataReader reader;
public static IDbTransaction transaccion;
public static IDataRecord update;
public static void conexion()//con este metodo se abre la conexion
{
connect = new NpgsqlConnection(connection);
connect.Open();
}
public static void executeQuery(string sql)/// este metodo recibe la cadena con la sentencia
{
comando = connect.CreateCommand();
comando.CommandText = sql;
reader = comando.ExecuteReader();
//updateQuery(sql);
}
public static void insertQuery(String sql)// este metodo recibe la cadena con la sentencia
{
comando = connect.CreateCommand();
comando.Transaction = transaccion;
comando.CommandText = sql;
comando.ExecuteScalar();
}
public static void updateQuery(String sql)// este metodo recibe la cadena con la sentencia
{
NpgsqlConnection conn = new NpgsqlConnection(connection);
conn.Open();
NpgsqlCommand comando = new NpgsqlCommand(sql, conn);
}
public static void desconectar()//este metodo cierra la conexion del query
{
reader.Close();
comando.Dispose();
connect.Close();
}
public static void desconectarinsert()// este metodo cierra la conexion del insert y update
{
comando.Dispose();
connect.Close();
}
}
viernes, 30 de septiembre de 2011
miércoles, 7 de septiembre de 2011
Validar campo obligatorio en asp .net
De esta forma se valida que un campo sea obligatorio antes de enviar el form, cuando se le de clic en el boton para procesar la información:
En este caso se valida un campo de texto llamado "TxtCampo" que al momeno de dar clic en en el boton va requerir que este campo este lleno, de lo contrario saldrá un mensaje en color rojo que dice "El campo es requerido"
<asp:TableCell><asp:TextBox ID="TxtCampo" runat="server" Width="180"></asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"
ControlToValidate="TxtCampo"
ErrorMessage="El campo es requerido."
ForeColor="Red">
</asp:RequiredFieldValidator>
Espero sea de ayuda.
En este caso se valida un campo de texto llamado "TxtCampo" que al momeno de dar clic en en el boton va requerir que este campo este lleno, de lo contrario saldrá un mensaje en color rojo que dice "El campo es requerido"
<asp:TableCell><asp:TextBox ID="TxtCampo" runat="server" Width="180"></asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"
ControlToValidate="TxtCampo"
ErrorMessage="El campo es requerido."
ForeColor="Red">
</asp:RequiredFieldValidator>
Espero sea de ayuda.
lunes, 4 de julio de 2011
utilizar ajax con jquery
hay diferentes formas de hacer llamadas ajax con jquery lo primero que tiene que hacer siempre es importar la libreria jquery antes del head de la siguiente forma:
luego antes del head o en el mismo body dentro de las etiquetas script:
$("#contenido").load("mipagina.php");
Teniendo en cuenta que #contenido hace referencia a un id de alguna etiqueta id="contenido", tambien puede ser un class="contenido" pero en este caso en lugar de # va un . ejemplo, ".contenido".
Tambien si quieres puedes acceder a un lugar especifico de la pagina a la cual se hace referencia.
$("#contenido").load("mipagina.php#menu");
Aunque esta es mi forma favorita de ajax en jquery hay otros que hacen cosas especificas incluso detectar errores en la peticion:
toda esta informacion la pueden encontrar en:
http://api.jquery.com/category/ajax/
luego antes del head o en el mismo body dentro de las etiquetas script:
$("#contenido").load("mipagina.php");
Teniendo en cuenta que #contenido hace referencia a un id de alguna etiqueta id="contenido", tambien puede ser un class="contenido" pero en este caso en lugar de # va un . ejemplo, ".contenido".
Tambien si quieres puedes acceder a un lugar especifico de la pagina a la cual se hace referencia.
$("#contenido").load("mipagina.php#menu");
Aunque esta es mi forma favorita de ajax en jquery hay otros que hacen cosas especificas incluso detectar errores en la peticion:
toda esta informacion la pueden encontrar en:
http://api.jquery.com/category/ajax/
domingo, 12 de junio de 2011
Validación de un correo con javascript
validaEmail es la función que se invoca, value es el parámetro que se recibe y ExpRegular es la expresión regular, es decir el patrón que tienen las direcciones de email:
function validaEmail(value)
{ var ExpRegular = /(\w+)(\.?)(\w*)(\@{1})(\w+)(\.?)(\w*)(\.{1})(\w{2,3})/;
if(ExpRegular.test(value)) { return true; }
else{ return false; }
}
function validaEmail(value)
{ var ExpRegular = /(\w+)(\.?)(\w*)(\@{1})(\w+)(\.?)(\w*)(\.{1})(\w{2,3})/;
if(ExpRegular.test(value)) { return true; }
else{ return false; }
}
Validar correo email en Java (codigo)
Con este metodo se puede validar un correo electronio de forma manual, recibe una cadena de caracteres y devuelve un boolen, true si cumple las caracteristicas o false si no las cumple.
/**
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m <code>String</code> es la cadena que recibe
* @return <code>boolean</code> si el correo es valido retorna true
*/
public boolean validarMail(String m) {
char c1 = m.charAt(0);
int pos1 = 0;
int pos2 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int x = 0;
String cadena1 = "";
String cadena2 = "";
String cadena3 = "";
if (c1 != '@' && c1 != '.') {
for (int i=1; i < m.length(); i++) {
if (m.charAt(i) == '@') {
pos1 = i;
}
}
for (int i=1; i < m.length(); i++) {
if (m.charAt(i) == '.') {
pos2 = i;
}
}
cadena1 = m.substring(0, pos1);
cadena2 = m.substring(pos1+1, pos2);
cadena3 = m.substring(pos2+1, m.length());
for (int i = 0;i < cadena1.length(); i++) {
System.out.println("carcater "+cadena1);
a1 = cadena1.codePointAt(i);//
if ((a1 > 47 && a1 < 58 ) || (a1 > 64 && a1 < 91)
|| (a1 > 96 && a1 < 123) || a1==46 ) {
x++;
}
}
System.out.println("1 "+cadena2);
for (int i = 0; i < cadena2.length(); i++) {
a2 = cadena2.codePointAt(i);
System.out.println("carcater "+a2);
if ((a2 > 47 && a2 < 58 ) || (a2 > 64 && a2 < 91)
|| (a2 > 96 && a2 < 123)) {
x++;
}
}
for (int i = 0;i < cadena3.length(); i++) {
a3 = cadena3.codePointAt(i);
if ((a3 > 47 && a3 < 58 ) || (a3 > 64 && a3 < 91)
|| (a3 > 96 && a3 < 123)) {
x++;
}
}
System.out.println("xxx "+x+" "+(m.length()-2));
if (x == m.length()- 2) {
if (pos1 != 0 && pos2 != 0 && (pos1 + 2) < pos2) {
if (m.length()-1 >= (pos2 + 2)) {
return true;
}else {
return false;
}
}else{
return false;
}
}else {
return false;
}
}else {
return false;
}
}
/**
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m <code>String</code> es la cadena que recibe
* @return <code>boolean</code> si el correo es valido retorna true
*/
public boolean validarMail(String m) {
char c1 = m.charAt(0);
int pos1 = 0;
int pos2 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int x = 0;
String cadena1 = "";
String cadena2 = "";
String cadena3 = "";
if (c1 != '@' && c1 != '.') {
for (int i=1; i < m.length(); i++) {
if (m.charAt(i) == '@') {
pos1 = i;
}
}
for (int i=1; i < m.length(); i++) {
if (m.charAt(i) == '.') {
pos2 = i;
}
}
cadena1 = m.substring(0, pos1);
cadena2 = m.substring(pos1+1, pos2);
cadena3 = m.substring(pos2+1, m.length());
for (int i = 0;i < cadena1.length(); i++) {
System.out.println("carcater "+cadena1);
a1 = cadena1.codePointAt(i);//
if ((a1 > 47 && a1 < 58 ) || (a1 > 64 && a1 < 91)
|| (a1 > 96 && a1 < 123) || a1==46 ) {
x++;
}
}
System.out.println("1 "+cadena2);
for (int i = 0; i < cadena2.length(); i++) {
a2 = cadena2.codePointAt(i);
System.out.println("carcater "+a2);
if ((a2 > 47 && a2 < 58 ) || (a2 > 64 && a2 < 91)
|| (a2 > 96 && a2 < 123)) {
x++;
}
}
for (int i = 0;i < cadena3.length(); i++) {
a3 = cadena3.codePointAt(i);
if ((a3 > 47 && a3 < 58 ) || (a3 > 64 && a3 < 91)
|| (a3 > 96 && a3 < 123)) {
x++;
}
}
System.out.println("xxx "+x+" "+(m.length()-2));
if (x == m.length()- 2) {
if (pos1 != 0 && pos2 != 0 && (pos1 + 2) < pos2) {
if (m.length()-1 >= (pos2 + 2)) {
return true;
}else {
return false;
}
}else{
return false;
}
}else {
return false;
}
}else {
return false;
}
}
sábado, 30 de abril de 2011
Código de una aplicación Java de la regla de Cramer
Este es un programa que resuelve matrices nXn.
Carga una matriz en un archivo .txt solo los valores de respuesta en el siguiente orden:
1 1 1 1 2 -1 -2 2 1 -2 3 -4 1 2 -4 2
Antes se debe indicar de cuanto es la matriz, para este caso es de 4x4 y en el tamaño ingresariamos 4, y en otro archivo .txt se cargan los valores de la respuesta asi:
10 2 2 1
O sea la matriz se veria asi:
| 1 1 1 1 | 10
| 2 -1 -2 2 | 2
| 1 -2 3 -4 | 2
| 1 2 -4 2 | 1
Espero sea de utilidad.
Descargar codigo en Netbeans Cramer.zip
------
Clic en la imagen para ampliar

------
El método de Cramer sirve para resolver sistemas de ecuaciones lineales. Se aplica a sistemas que cumplan las dos condiciones siguientes:
El número de ecuaciones es igual al número de incógnitas.
El determinante de la matriz de los coeficientes es distinto de cero.
Tales sistemas se denominan sistemas de Cramer.

Sea Δ el determinante de la matriz de coeficientes.

Y sean:
Δ 1, Δ 2 , Δ 3 ... , Δ n
los determinantes que se obtiene al sustituir los coeficientes del 2º miembro (los términos independientes) en la 1ª columna , en la 2ª columna, en la 3ª columna y en la enésima columna respectivamente.
Carga una matriz en un archivo .txt solo los valores de respuesta en el siguiente orden:
1 1 1 1 2 -1 -2 2 1 -2 3 -4 1 2 -4 2
Antes se debe indicar de cuanto es la matriz, para este caso es de 4x4 y en el tamaño ingresariamos 4, y en otro archivo .txt se cargan los valores de la respuesta asi:
10 2 2 1
O sea la matriz se veria asi:
| 1 1 1 1 | 10
| 2 -1 -2 2 | 2
| 1 -2 3 -4 | 2
| 1 2 -4 2 | 1
Espero sea de utilidad.
Descargar codigo en Netbeans Cramer.zip
------
Clic en la imagen para ampliar

------
El método de Cramer sirve para resolver sistemas de ecuaciones lineales. Se aplica a sistemas que cumplan las dos condiciones siguientes:
El número de ecuaciones es igual al número de incógnitas.
El determinante de la matriz de los coeficientes es distinto de cero.
Tales sistemas se denominan sistemas de Cramer.

Sea Δ el determinante de la matriz de coeficientes.

Y sean:
Δ 1, Δ 2 , Δ 3 ... , Δ n
los determinantes que se obtiene al sustituir los coeficientes del 2º miembro (los términos independientes) en la 1ª columna , en la 2ª columna, en la 3ª columna y en la enésima columna respectivamente.
jueves, 21 de abril de 2011
Bueno para los que hay visto la magia de javascript y canvas como en mi pots anterior ahora les tengo el codigo fuente de la aplicacion web llamada harmony creacion de mr doob y aportada para todo publico
domingo, 10 de abril de 2011
Applet colores

En este applet se muestra como se utiliza una mezcla de colores RGB con un deslizador.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Ejercicio2 extends Applet implements AdjustmentListener {
Scrollbar s1,s2,s3;
int v1 = 0;
int v2 = 0;
int v3 = 0;
String m1,m2,m3;
public Ejercicio2() {
s1 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
s2 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
s3 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
add(s1);
add(s2);
add(s3);
s1.addAdjustmentListener(this);
s2.addAdjustmentListener(this);
s3.addAdjustmentListener(this);
}
public void adjustmentValueChanged(AdjustmentEvent ae) {
v1 = s1.getValue();
v2 = s2.getValue();
v3 = s3.getValue();
m1 = "deslizador 1 " + v1;
m2 = "deslizador 2 " + v2;
m3 = "deslizador 3 " + v3;
repaint();
}
public void paint(Graphics g) {
g.setColor(new Color(v1,v2,v3));
g.drawRect(0,0,150,300);
g.fillRect(0,0,150,300);
g.setColor(Color.BLUE);
g.drawString(m1,30,100);
g.drawString(m2,30,150);
g.drawString(m3,30,200);
}
}
domingo, 27 de marzo de 2011
Ejemplo de Hilos
Este es un ejemplo sencillo de ejecucion de hilos, donde el metodo run es simplemente un ciclo for que mediante una variable de control i, se ejecutará 10 veces; dentro de su ejecución simplemente va a imprimir el string que le mandamos de parámetro al constructor y después el valor de la variable i, inmediatamente después de haber ejecutado la impresión en pantalla, vamos a poner al hilo a dormir, esto lo hacemos con el método sleep.
public class Hilos1{
public static void main(String[] args){
Hilo1 h1 = new Hilo1("Uno");
Hilo1 h2 = new Hilo1("Dos");
Hilo1 h3 = new Hilo1("Tres");
Hilo1 h4 = new Hilo1("Cuatro");
h1.start();
h2.start();
h3.start();
h4.start();
}
}
class Hilo1 extends Thread{
String s;
public Hilo1(String s){
this.s = s;
}
public void run(){
for(int i=0; i<10; i++){
System.out.println(s+" "+i);
try{
sleep(Math.round(Math.random()*1000));
}catch(InterruptedException e){
}
}
}
}
public class Hilos1{
public static void main(String[] args){
Hilo1 h1 = new Hilo1("Uno");
Hilo1 h2 = new Hilo1("Dos");
Hilo1 h3 = new Hilo1("Tres");
Hilo1 h4 = new Hilo1("Cuatro");
h1.start();
h2.start();
h3.start();
h4.start();
}
}
class Hilo1 extends Thread{
String s;
public Hilo1(String s){
this.s = s;
}
public void run(){
for(int i=0; i<10; i++){
System.out.println(s+" "+i);
try{
sleep(Math.round(Math.random()*1000));
}catch(InterruptedException e){
}
}
}
}
miércoles, 23 de marzo de 2011
Practica con Sprite y Tiles

private Image imgGoofy;
private Sprite sprGoofy;
private int xPosGoofy, yPosGoofy;
private int sequence = 12;
//Inicializamos las variables
imgGoofy = Image.createImage("/imagenes/goofy/issac.png");
sprGoofy = new Sprite(imgGoofy, 32, 48);
xPosGoofy = 95;
yPosGoofy = 250;
//Lo pitamos en el graphics
sprGoofy.setPosition(xPosGoofy, yPosGoofy);
sprGoofy.setFrame(sequence);
sprGoofy.paint(g);
//le damos movimiento al presionar las teclas
if ((keyStates & RIGHT_PRESSED) != 0){
if (i < 9 || i > 11){i = 9;}
xPosGoofy = Math.min(w-50, xPosGoofy + 5);
sequence = i;
i++;
}

//Este es el tile que vamos a utilizar para cargarlo por partes
private Image mapaImg;
private TiledLayer tile;
private int [] map = {1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,12,
5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,12,
5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 8,10,10,10,10,10,10,10,10,10,10,10, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7,10,10,10,10,10, 9, 7, 7, 7, 7, 8,10,10,10, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 8,10,10,10, 9, 7, 7,12,
5, 7, 7, 6, 6, 7, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7,12,
5, 7, 7, 6, 6, 7, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7,10,10,10,10, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7,12,
5, 7, 7, 7, 7, 7,17, 9, 7, 7, 7, 7,10,17, 7, 7,10,10,10,10,17, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,12,
5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,12,
5, 6, 7, 7, 7, 7, 7, 7, 7,15,16, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,12,
5, 4, 4, 4, 4, 4, 4, 4, 4,13,14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,12};
w = getWidth();//ancho de la pantalla
h = getHeight();//alto de la pantalla
xTiles = 24;//cantidad de tiles en x
yTiles = 22;//cantidad de tiles en y
xPosTile = -130;//posicion x del tile en pantalla
yPosTile = -225;//posicion y del tile en pantalla
mapaImg = Image.createImage("/imagenes/mapa/tilesMapa.png");//cargamos la imagen
tile = new TiledLayer(xTiles, yTiles, mapaImg, 24, 24);//
//Metodo para cargar el sprite en el tile
private void cargaSprites(){
for(int i = 0;i < map.length;i++){
int columna = i % 24;
int fila = (i - columna) / 24;
tile.setCell(columna, fila, map[i]);
}
}
tile.setVisible(true);
tile.setPosition(xPosTile, yPosTile);
tile.paint(g);
if ((keyStates & RIGHT_PRESSED) != 0){
xPosTile -= 5;
}
jueves, 17 de marzo de 2011
hoy le voy a hablar del web Gl una nueva tecnologia que se dessarrollo con ayuda de google y mozilla fundation para hacer de la web una experienza vacana aqui unos ejemplos pero solo se ven si tienes actualizado el mozilla a 4.0 y el google chrome canary http://alteredqualia.com/
Ejemplos de juegos en J2ME
JUEGOS EN J2ME
Buenas noches, esta vez subimos varios ejemplos de juegos para dispositivos móviles, hecho por alumnos, en los cuales podemos encontrar colisiones, movimientos, sprites, movimiento de objetos entre otros. Son muy buenos y sirven para tener en cuenta muchos otros puntos de vista y dar nuevas soluciones, espero sea de ayuda, y gracias los que hicieron los programas.
juegos mobile J2ME.zip por 4shared
click aqui-DESCARGAR_CODIGOS por mediafire
Saludos
NOTA: Si alguien está interesado en mandar publicaciones de codigos u otras cosas que sirvan para compartir el conocimiento por favor enviarlas al siguiente correo: desarrollox2@gmail.com
Buenas noches, esta vez subimos varios ejemplos de juegos para dispositivos móviles, hecho por alumnos, en los cuales podemos encontrar colisiones, movimientos, sprites, movimiento de objetos entre otros. Son muy buenos y sirven para tener en cuenta muchos otros puntos de vista y dar nuevas soluciones, espero sea de ayuda, y gracias los que hicieron los programas.
juegos mobile J2ME.zip por 4shared
click aqui-DESCARGAR_CODIGOS por mediafire
Saludos
NOTA: Si alguien está interesado en mandar publicaciones de codigos u otras cosas que sirvan para compartir el conocimiento por favor enviarlas al siguiente correo: desarrollox2@gmail.com
lunes, 7 de marzo de 2011
Validar campo tecla digitada en un JTexField
Con este metodo puede validar cada tecla digitada en una caja de texto, para este caso se valida que solo se puedan digitar numeros, si se presiona una letra no la deja escribir, a su vez en este metodo podemos modificarlo para que se puedan validar mas cosas, esta modificacion va en la condicion if, donde podemos validar con el codigo ASCII, el metodo codePointAt() de un String saca ese codigo ASCII y validamos los caracteres que queramos. Este metodo debemos ponerlo en un evento KeyReleased del JTexField, en Netbeans en modo grafico le damos clic derecho a la caja de texto, eventos, key y KeyReleased.
private void metodoKeyReleased(java.awt.event.KeyEvent evt) {
javax.swing.JTextField objJTF = (javax.swing.JTextField)evt.getSource();
char[] fuente = texto.toCharArray();
char[] resultado = new char[fuente.length];
int j = 0;
boolean error = false;
for (int i = 0; i < fuente.lenght; i++) {
if (fuente[i] >= '0' && fuente[i] <= '9')
resultado[j++] = fuente[i];
else {
error = true;
java.awt.Toolkit.getDefaultToolkit().beep();
}
}
if ( error )
objJTF.setText(new String(resultado, 0, j));
}
sábado, 5 de marzo de 2011
Validar contraseña (ejemplo)
Este metodo valida la clave segun las condiciones.
Primera letra en mayuscula y ultima en un numero
el resto minusculas
/* @param c
* @return
*/
public static boolean validarClave(String c) {
int pi = c.charAt(0);
int p = 0;
int x = 0;
String cad = c.substring(1, c.length()-1);
int pf = c.charAt(c.length()-1);
if (c.length() >= 5 && c.length() <= 9) { if (pi > 64 && pi <> 47 && pf <58 ) { for (int i = 0; i < cad.length(); i++) { p = cad.codePointAt(i); if (p > 96 && p < 123) {
x++;
}
}
if (x == cad.length()) {
return true;
}else {
return false;
}
}else {
return false;
}
}else {
return false;
}
}
Primera letra en mayuscula y ultima en un numero
el resto minusculas
/* @param c
String
* @return
bolean
*/
public static boolean validarClave(String c) {
int pi = c.charAt(0);
int p = 0;
int x = 0;
String cad = c.substring(1, c.length()-1);
int pf = c.charAt(c.length()-1);
if (c.length() >= 5 && c.length() <= 9) { if (pi > 64 && pi <> 47 && pf <58 ) { for (int i = 0; i < cad.length(); i++) { p = cad.codePointAt(i); if (p > 96 && p < 123) {
x++;
}
}
if (x == cad.length()) {
return true;
}else {
return false;
}
}else {
return false;
}
}else {
return false;
}
}
Cargando imagen en J2ME
protected void paint(Graphics g) {
Image img = null;
try {
img = Image.createImage("/Images/logo.png");
} catch (IOException e) {
System.err.println("Error: " + e);
}
g.drawImage(img, 0, 0, Graphics.LEFT|Graphics.TOP);
}
Image img = null;
try {
img = Image.createImage("/Images/logo.png");
} catch (IOException e) {
System.err.println("Error: " + e);
}
g.drawImage(img, 0, 0, Graphics.LEFT|Graphics.TOP);
}
viernes, 4 de marzo de 2011
web interactiva.
Comenzare esta entrada, diciendote que hay nuevas tecnologias para el desarrollo web interactivo libre de desarrollo en flash y rico en informacion marquetada y javascript, como lo es el html5 y el css3 una prueba buena son los experimentos de google donde hallaras impresionantes experimentos y algunos con open source.
para saber mas acerca de javascript recomiendo esta pagina web .
y para conocer php y diferentes aplicaciones open desarrolladas en esta tecnologia recomiendo esta.
para saber mas acerca de javascript recomiendo esta pagina web .
y para conocer php y diferentes aplicaciones open desarrolladas en esta tecnologia recomiendo esta.
Canvas en J2ME
protected void paint(Graphics g) {
g.setColor(211, 211, 211);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.drawLine(30, 30, 100, 100);//Cabello
g.drawLine(60, 25, 100, 100);//Cabello
g.drawLine(90, 20, 100, 100);//Cabello
g.drawLine(120, 30, 100, 100);//Cabello
g.drawLine(150, 25, 100, 100);//Cabello
g.drawLine(180, 20, 100, 100);//Cabello
g.drawLine(210, 25, 100, 100);//Cabello
g.setColor(255, 217, 198);
g.fillRoundRect(50, 50, 130, 130, 130, 130);//cabeza
g.setColor(255, 255, 255);
g.fillRoundRect(70, 80, 30, 40, 40, 40);//Ojo derecho
g.fillRoundRect(110, 80, 30, 40, 40, 40);//Ojo izquierdo
g.setColor(0, 0, 0);
g.fillRoundRect(75, 95, 20, 20, 20, 20);//Ojo derecho
g.fillRoundRect(115, 95, 20, 20, 20, 20);//Ojo izquierdo
g.drawLine(105, 125, 105, 135);//Nariz
g.drawLine(105, 135, 110, 135);//Nariz
g.fillRoundRect(100, 140, 20, 30, 10, 10);//Boca
g.setColor(255, 255, 255);
g.fillRoundRect(101, 141, 18, 8, 8, 5);//Dientes arriba
g.fillRoundRect(101, 161, 18, 8, 8, 5);//Dientes abajo
}
jueves, 3 de marzo de 2011

Aqui unos libros en PDF de programacion en JAVA ME (micro edition) para dispositivos móviles en español y en ingles para descargar, son recomendados.
Linux for humans
DESCARGAR PDF
pdf j2me.zip
Ejemplos Menus #1
Menu
1. Fibonacci
2. Serie A
3. Tabla de multiplicar
4. Convertir Mayusculas, minusculas y contar letras
Fibonacci:
La sucesión inicia con 0 y 1, y a partir de ahí cada elemento es la suma de los dos anteriores.
Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos.
Ejemplo:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.........
public String cadFibo(int d1, int d2, int serie){
int suma = 0;
int n1 = d1;
int n2 = d2;
String cadena = "";
for (int i = 0; i < serie; i++){
suma = n1 + n2;
cadena = cadena + " " + n1;
n1 = n2;
n2 = suma;
}
return cadena;
}
Serie A: 1/2 + 2/4 + 3/7 + 4/11.........
Tabla de Multiplicar: Las tablas de multiplicar se usan para definir la operación binaria del producto para un sistema algebraico n x n = n.
public String resMulti(int d1, int d2){
String r = "" + (d1 * d2);
return r;
}
Convertir palabras y contarlas:
public String canCaracteres(String d1){
String cadena = d1;
int n = cadena.length();
return ""+n;
}
Archivo del codigo - Descarga
1. Fibonacci
2. Serie A
3. Tabla de multiplicar
4. Convertir Mayusculas, minusculas y contar letras
Fibonacci:
La sucesión inicia con 0 y 1, y a partir de ahí cada elemento es la suma de los dos anteriores.
Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos.
Ejemplo:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.........
public String cadFibo(int d1, int d2, int serie){
int suma = 0;
int n1 = d1;
int n2 = d2;
String cadena = "";
for (int i = 0; i < serie; i++){
suma = n1 + n2;
cadena = cadena + " " + n1;
n1 = n2;
n2 = suma;
}
return cadena;
}
Serie A: 1/2 + 2/4 + 3/7 + 4/11.........
Tabla de Multiplicar: Las tablas de multiplicar se usan para definir la operación binaria del producto para un sistema algebraico n x n = n.
public String resMulti(int d1, int d2){
String r = "" + (d1 * d2);
return r;
}
Convertir palabras y contarlas:
public String canCaracteres(String d1){
String cadena = d1;
int n = cadena.length();
return ""+n;
}
Archivo del codigo - Descarga
miércoles, 2 de marzo de 2011
El siguiente código muestra un ejemplo completo de uso de RMS.
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RMS extends MIDlet {
// nombre de la BD
static final String BD = "datos";
String dato;
int id, i;
char b;
public RMS() {
RecordStore rs = null;
// Borramos la BD si tenía algo
try {
RecordStore.deleteRecordStore(BD);
} catch( Exception e ){}
try {
// Abrimos el recordStore
rs = RecordStore.openRecordStore(BD, true);
guardaRegistro(rs,"Datos del registro 1");
guardaRegistro(rs,"Datos del registro 2");
guardaRegistro(rs,"Datos del registro 3");
// Leemos los registros
RecordEnumeration registros = rs.enumerateRecords(null, null, false);
// Recorremos todos los elementos
while (registros.hasNextElement()) {
// Obtenemos el ID del siguiente registro
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch( RecordStoreException e ){
System.out.println( e );
}
notifyDestroyed();
}
public void verRegistro(RecordStore rs, int id) {
try {
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
// leemos el registro
try {
dato = is.readUTF();
System.out.println("-> "+dato);
} catch (EOFException eofe) {
} catch (IOException ioe) {}
} catch (RecordStoreException e) {}
}
public void guardaRegistro(RecordStore rs, String dato) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try {
// guadar el dato
os.writeUTF(dato);
} catch (IOException ioe) {}
// extraer el array de butes
byte[] b = baos.toByteArray();
// lo añadimos al recordStore
try {
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
}
public void destroyApp( boolean unconditional ) {}
public void startApp() {}
public void pauseApp() {}
}
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RMS extends MIDlet {
// nombre de la BD
static final String BD = "datos";
String dato;
int id, i;
char b;
public RMS() {
RecordStore rs = null;
// Borramos la BD si tenía algo
try {
RecordStore.deleteRecordStore(BD);
} catch( Exception e ){}
try {
// Abrimos el recordStore
rs = RecordStore.openRecordStore(BD, true);
guardaRegistro(rs,"Datos del registro 1");
guardaRegistro(rs,"Datos del registro 2");
guardaRegistro(rs,"Datos del registro 3");
// Leemos los registros
RecordEnumeration registros = rs.enumerateRecords(null, null, false);
// Recorremos todos los elementos
while (registros.hasNextElement()) {
// Obtenemos el ID del siguiente registro
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch( RecordStoreException e ){
System.out.println( e );
}
notifyDestroyed();
}
public void verRegistro(RecordStore rs, int id) {
try {
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
// leemos el registro
try {
dato = is.readUTF();
System.out.println("-> "+dato);
} catch (EOFException eofe) {
} catch (IOException ioe) {}
} catch (RecordStoreException e) {}
}
public void guardaRegistro(RecordStore rs, String dato) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try {
// guadar el dato
os.writeUTF(dato);
} catch (IOException ioe) {}
// extraer el array de butes
byte[] b = baos.toByteArray();
// lo añadimos al recordStore
try {
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
}
public void destroyApp( boolean unconditional ) {}
public void startApp() {}
public void pauseApp() {}
}
martes, 1 de marzo de 2011
RMS: Almacenamiento en MIDP
MIDP define una sencilla base de datos orientada a registros que permite almacenar a las aplicaciones datos de forma persistente. Esta base se denomina Record Management System (RMS).
A continuación, se puede ver un sencillo ejemplo de creación de un RecordStore:
A continuación, se puede ver un sencillo ejemplo de creación de un RecordStore:
import javax.microedition.midlet.*; import javax.microedition.rms.*; public class RecordStoreTest1 extends MIDlet { public RecordStoreTest1() { } public void startApp() throws MIDletStateChangeException { RecordStore rs=null; try { rs = RecordStore.openRecordStore("file1",true); System.out.println("Archivo se abre"); }catch(Exception e){ System.out.println("Error: "+e.getMessage()); } finally{ try { rs.closeRecordStore(); System.out.println("archivo cerrado"); }catch (Exception e){ System.out.println("Error: "+e.getMessage()); } } destroyApp(true); notifyDestroyed(); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
Metodo valida el correo
/**
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m
* @return
*/
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m
String
es la cadena que recibe* @return
boolean
si el correo es valido retorna true*/
public boolean validarMail(String m) {
char c1 = m.charAt(0);
int pos1 = 0;
int pos2 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int x = 0;
String cadena1 = "";
String cadena2 = "";
String cadena3 = "";
if (c1 != '@' && c1 != '.') {
for (int i=1; i <>
if (m.charAt(i) == '@') {
pos1 = i;
}
}
for (int i=1; i <>
if (m.charAt(i) == '.') {
pos2 = i;
}
}
cadena1 = m.substring(0, pos1);
cadena2 = m.substring(pos1+1, pos2);
cadena3 = m.substring(pos2+1, m.length());
for (int i = 0;i <>
System.out.println("carcater "+cadena1);
a1 = cadena1.codePointAt(i);//
if ((a1 > 47 && a1 <> 64 && a1 <>
|| (a1 > 96 && a1 < a1="="46">
x++;
}
}
System.out.println("1 "+cadena2);
for (int i = 0; i <>
a2 = cadena2.codePointAt(i);
System.out.println("carcater "+a2);
if ((a2 > 47 && a2 <> 64 && a2 <>
|| (a2 > 96 && a2 <>
x++;
}
}
for (int i = 0;i <>
a3 = cadena3.codePointAt(i);
if ((a3 > 47 && a3 <> 64 && a3 <>
|| (a3 > 96 && a3 <>
x++;
}
}
System.out.println("xxx "+x+" "+(m.length()-2));
if (x == m.length()- 2) {
if (pos1 != 0 && pos2 != 0 && (pos1 + 2) <>
if (m.length()-1 >= (pos2 + 2)) {
return true;
}else {
return false;
}
}else{
return false;
}
}else {
return false;
}
}else {
return false;
}
}
jueves, 24 de febrero de 2011
Calculadora y Factorial en J2ME
package gui;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
public class main extends MIDlet implements CommandListener{
//Manejamos la pantalla con el display public Display display;
//Aqui cargamos los texfield, list y group
public Form screen;
//Opciones del menu principal
public Command salir, calcular;
//Menu de opciones
public List menu;
public TextField dato1, operacion, dato2, total; public ChoiceGroup operador;
public int mc;
public main(){
mc = 0;
dato1 = new TextField("1er Numero: ", "", 15, TextField.NUMERIC);
operador = new ChoiceGroup("Operacion:", ChoiceGroup.EXCLUSIVE);
dato2 = new TextField("2do Numero", "", 15, TextField.NUMERIC);
total = new TextField("Resultado", "", 15, TextField.UNEDITABLE);
calcular = new Command("Calcular", Command.OK, 2);
salir = new Command("Salir", Command.EXIT, 1);
}
public void startApp() {
display = Display.getDisplay(this);
menu();
}
public void menu(){
menu = new List("MENU PRINCIPAL", List.IMPLICIT);
menu.append("Calculadora", null);
menu.append("Factorial", null);
menu.addCommand(salir);
display.setCurrent(menu);
menu.setCommandListener(this);
}
private void organizaCalculadora() {
mc = 1;
screen = new Form("Calculadora");
display.setCurrent(screen);
screen.append(dato1);
operador.append("+", null);
operador.append("-", null);
operador.append("*", null);
operador.append("/", null);
screen.append(operador);
screen.append(dato2);
screen.append(total);
screen.addCommand(calcular);
screen.addCommand(salir);
screen.setCommandListener(this);
}
private void organizaFactoria(){
mc = 2;
screen = new Form("Factorial");
display.setCurrent(screen);
screen.append(dato1);
screen.append(total);
screen.addCommand(calcular);
screen.addCommand(salir);
screen.setCommandListener(this);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional){notifyDestroyed();}
public void commandAction(Command c, Displayable d) {
//Si seleccionamos alguna de las opciones del menú
if (d == menu){
switch (menu.getSelectedIndex()){
case 0:
organizaCalculadora();
break;
case 1:
organizaFactoria();
break;
}
}
//Si seleccionamos calculadora realizamos esta operación
if (c == calcular && mc == 1){
int n = 0;
switch (operador.getSelectedIndex()){
case 0:
n = Integer.parseInt(dato1.getString()) + Integer.parseInt(dato2.getString());
break;
case 1:
n = Integer.parseInt(dato1.getString()) - Integer.parseInt(dato2.getString());
break;
case 2:
n = Integer.parseInt(dato1.getString()) * Integer.parseInt(dato2.getString());
break;
case 3:
n = Integer.parseInt(dato1.getString()) / Integer.parseInt(dato2.getString());
break;
}
total.setString(""+n);
}
//Si seleccionamos factorial realizamos esta operación
if (c == calcular && mc == 2){
int n,x = 0;
n = Integer.parseInt(dato1.getString());
if (n == 0 || n == 1){
n = 1;
}else{
for (x = n; x >= 2; --x){
n = n * (x - 1) ;
}
}
total.setString(""+n);
}
if (c == salir){
destroyApp(true);
}
}
}
jueves, 6 de enero de 2011
GRUB: cambiar el sistema operativo por defecto en Ubuntu 10.10
Para cambiar el sistema operativo que se arranca por defecto en esta versión de GRUB (1.98+20100804-5ubuntu3) hay que seguir los pasos siguientes:
Para más información, consulta la siguiente URL: http://www.guia-ubuntu.org/index.php?title=GRUB#Modificaciones_en_el_men.C3.BA_de_arranque
- Abre una consola y escribe el siguiente comando: sudo gedit /etc/default/grub
- Busca la línea GRUB_DEFAULT=0 y cambia el valo r 0 por la posición que ocupa el sistema operativo que quieres arrancar por defecto. El valor 0 equivale al primero, así que debes tener en cuenta que si el que quieres activar por defecto ocupa la quinta posición, debes indicar el valor 4.
- Guarda los cambios y ejecuta la siguiente línea para actualizar el archivo grub.cfg:sudo update-grub2
Para más información, consulta la siguiente URL: http://www.guia-ubuntu.org/index.php?title=GRUB#Modificaciones_en_el_men.C3.BA_de_arranque
domingo, 2 de enero de 2011
Acelerar la bajada de datos de internet en ubuntu
El procedimiento es simple, basta modificar el archivo "aliases":
Eliminar esta linea de la primera sección:
y reemplazarla con estas tres:
luego de hacer esto guardamos el archivo y reiniciamos la pc, para que la conexion entre con la nueva configuracion y notaras el cambio entre dar click.
fuente: http://george2002.obolog.com/acelerar-bajada-datos-internet-ubuntu-26832
------------------------------------------------------------------------------------------------------------------
O tambien Abri el terminal y teclea:
sudo gedit /etc/sysctl.conf
Y colocar al final del archivo las siguientes líneas:
net.ipv4.tcp_window_scaling = 0
net.ipv6.conf.all.disable_ipv6 = 1
Guardamos, reiniciamos y a partir de ahora ganaras un poco de velocidad en tus conexiones sobre todoo para navegar.
http://www.tuxapuntes.com/drupal/node/1751
sudo gedit /etc/modprobe.d/aliases
Eliminar esta linea de la primera sección:
alias net-pf-10 ipv6
y reemplazarla con estas tres:
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off
luego de hacer esto guardamos el archivo y reiniciamos la pc, para que la conexion entre con la nueva configuracion y notaras el cambio entre dar click.
fuente: http://george2002.obolog.com/acelerar-bajada-datos-internet-ubuntu-26832
------------------------------------------------------------------------------------------------------------------
O tambien Abri el terminal y teclea:
Y colocar al final del archivo las siguientes líneas:
net.ipv4.tcp_window_scaling = 0
net.ipv6.conf.all.disable_ipv6 = 1
Guardamos, reiniciamos y a partir de ahora ganaras un poco de velocidad en tus conexiones sobre todoo para navegar.
http://www.tuxapuntes.com/drupal/node/1751
Suscribirse a:
Entradas (Atom)