domingo, 3 de agosto de 2008
NX Client testdrive
Free NX es una producto de Nomachine (!m), que permite la ejecucion de aplicaciones sobre clientes ligeros.
Nx maneja un esquema de compresion del entorno X-Window, que permite controlar un escritorio remoto, con un ancho de banda muy bajo (9600 baudios).
Luego la compresión del procolo X de NX se liberó como Open Source, lo que ya dió origen a FreeNX, un servidor libre de aplicaciones y clientes ligeros basado en la tecnología NX.
Podemos acceder a los testdrives de Nomachine, para esto descargar el NXClient de la pagina de Nomachine.
http://www.nomachine.com/download.php
Luego los testdrives son:
testdrive.nomachine.com (corriendo Suse Linux 10.x)
testdrive.millenux.com (Corriendo Fedora Core )
Se puede obtener mas informacion de los testdrives en:
http://www.nomachine.com/testdrive.php
Aqui algunas capturas:
Etiquetas:
escritorio remoto linux,
freenx,
nomachine,
nx,
testdrive
Redondear numeros en Java con Netbeans
Algo sencillo con esta funcion.
public double redondear( double numero, int decimales ) {
return Math.round(numero*Math.pow(10,decimales))/Math.pow(10,decimales);
}
viernes, 18 de abril de 2008
Conversion de Fracciones a Decimales
La siguiente funcion es muy simple, lo que hace es convertir un string que representa a una fraccion en un numero decimal.
Usa dos parametros: as_x , que es la fraccion y es de tipo string, es un parametro por valor; y ad_valor, que es por referencia y sera el resultado de la conversion, y es de tipo double.
Para variar... esta en power builder
Usa dos parametros: as_x , que es la fraccion y es de tipo string, es un parametro por valor; y ad_valor, que es por referencia y sera el resultado de la conversion, y es de tipo double.
integer li_return, li_p
double ld_n, ld_num, ld_den
string ls_cadena
ls_cadena = trim(as_x)
li_p = pos(ls_cadena, "/")
if li_p = 0 then
ad_valor = double(as_x)
li_return = 1
else
ld_den = double(right(ls_cadena, len(ls_cadena) - li_p ))
if ld_den = 0 then li_return = -1
ls_cadena = trim(left(ls_cadena, li_p - 1))
ld_num = double(ls_cadena)
end if
if ld_den <> 0 then
ld_n = ld_num / ld_den
ad_valor = ld_n
li_return = 1
end if
return li_return
Para variar... esta en power builder
domingo, 13 de abril de 2008
Convertir Decimal a Fraccion con Power Builder
En la universidad, se nos presento una ocasion donde nos pedian a nosotros, alumnos, una aplicacion que permita el ingreso de decimales en forma de fraccion con power builder. En internet no habia mucha informacion sobre este tema.
Encontrando solamente un paper interesante para estos fines escrito por John Kennedy, el paper lo pueden encontrar en su sitio web. http://homepage.smc.edu/kennedy%5Fjohn/
John Kennedy desarrollo un algoritmo muy preciso para la generacion de fracciones a partir del decimal de entrada.
Entonces puse manos a la obra y salio esta funcion, que es practicamente una traslacion del lenguaje Turbo Pascal a Power Builder.
Esta funcion utiliza dos parametros: uno por valor, y otro por referencia (que es el String, que servirá de variable de salida).
Utilizacion de la funcion:
string ls_salida
f_decimal_a_fraccion(1.5, ls_salida)
Messagebox(string(1.5), ls_salida)
Encontrando solamente un paper interesante para estos fines escrito por John Kennedy, el paper lo pueden encontrar en su sitio web. http://homepage.smc.edu/kennedy%5Fjohn/
John Kennedy desarrollo un algoritmo muy preciso para la generacion de fracciones a partir del decimal de entrada.
Entonces puse manos a la obra y salio esta funcion, que es practicamente una traslacion del lenguaje Turbo Pascal a Power Builder.
Esta funcion utiliza dos parametros: uno por valor, y otro por referencia (que es el String, que servirá de variable de salida).
double ld_decimal, ld_numerador, ld_denominador, ld_denominador_anterior
double ld_z, ld_scratch
integer li_signo_decimal
if ad_valor < 0 then
li_signo_decimal = -1
else
li_signo_decimal = 1
end if
ld_decimal = abs(ad_valor)
if ld_decimal = 0 then
as_valor = string(0)
return
end if
if ld_decimal = int(ld_decimal) then
ld_numerador = li_signo_decimal * ld_decimal
ld_denominador = 1
as_valor = string(ld_numerador)// + '/'+string(ld_denominador)
return
end if
if ld_decimal < 1.0E-19 then
ld_numerador = li_signo_decimal
ld_denominador = 999999999999999999.0
as_valor = string(ld_numerador) + '/'+string(ld_denominador)
return
end if
if ld_decimal > 1.0E+19 then
ld_numerador = 999999999999999999.0 * li_signo_decimal
ld_denominador = 1
as_valor = string(ld_numerador)// + '/'+string(ld_denominador)
return
end if
ld_z = ld_Decimal
ld_Denominador_anterior = 0
ld_denominador = 1
do
ld_z = 1 / (ld_z - int(ld_z))
ld_scratch = ld_Denominador
ld_denominador = ld_denominador * int(ld_z) + ld_denominador_anterior
ld_denominador_anterior = ld_scratch
ld_numerador = int(ld_decimal * ld_denominador + 0.5)
loop until (Abs((ld_Decimal - (ld_numerador / ld_denominador))) < 0.000005 ) or (ld_z = int(ld_z))
ld_numerador = li_signo_decimal * ld_numerador
if ld_denominador = 1 then
as_valor = string(ld_numerador) //+ '/'+string(ld_denominador)
else
as_valor = string(ld_numerador) + '/'+string(ld_denominador)
end if
return
Utilizacion de la funcion:
string ls_salida
f_decimal_a_fraccion(1.5, ls_salida)
Messagebox(string(1.5), ls_salida)
Etiquetas:
decimal fraccion power builder algoritmo
Suscribirse a:
Entradas (Atom)