15

Ejemplo Hipervinculos

Bien…hoy trato de solucionar lo planteado por darkisdeath en el post Ayuda plz, Hipervinculos. del foro de hispaneobook.

[…]Estoy haciendo un índice y me resulta más fácil poner texto con hipervínculos para ir a alguna página que poner imágenes como botón, pero resulta que al hacerlo el texto adquiere las características de un hipervínculo en html, azul y subrayado. ¿Hay forma de quitar esas característica y dejar el texto intacto? (sin el subrayado y el color azul)

La única opción que encontré fue la de cambiar de color el hipervínculo, pero no me sirve de mucho. […]

Vamos con la teoría: neobook permite la interacción con el objeto navegador, lo cual combinado con un poco de java se transforma en un potente vínculo. Pero… html también colorea y subraya los hipervínculos te preguntas… Pues si, también lo hace, pero desde la salida de CSS esto se puede cambiar.

En base a esto podemos hacer un .html que contenga el texto y su hipervínculo será un llamado a una función javascript que realizará la acción en neobook.

El código javascript para comunicarse con neobook es el siguiente:

function doExec()
{
	window.external.nbExecAction( 'alertbox "Javascript" "Hola desde el navegador"' );
}

El html que muestra el objecto Web browser tendría el siguiente enlace:

Mostrar alertbox

Listo…entendí perfecto pero como saco el subrayado???
Pues en el html tenes que agregar esta linea en el head.

Y el contenido de ejemplo_hipervinculos.css :

a:link {
	text-decoration: none;
	color: #000000;
}
a:visited {
	text-decoration: none;
	color: #000000;
}
a:hover {
	text-decoration: none;
	color: #000000;
}
a:active {
	text-decoration: none;
	color: #000000;
}

El css elimina el subrayado y colorea de negro (#000000) los hipervínculos dando un aspecto del texto normal…

Espero que sea útil…

Screen ejemplo hipervinculos

Bajar ejemplo:

  ejemplo_hipervinculos.rar (869,6 KiB, 2.424 hits)

2

Ejemplo Calculadora

Buenas… hoy voy a postear un ejemplo de como realizar un calculadora en neobook respondiendo al post de zasuangel en el foro de hispaneobook.

Math es la función que nos brinda neobook para realizar operaciones matemáticas.
Math operacion decimales resultado
Esta función soporta +, -, *, /, ^, Abs(valor absoluto), Sin(seno), Cos(coseno), Atan(arcotangente), Sqr(cuadrado), Sqrt(potencia), Round(redondeo), Trunc(entero mas cercano) y operaciones complejas utilizando parentesis ( ) y variables ej. (6+6)/[b].

.//Ejemplo sumar 20 + 20 con 0 decimales y guardar en la variable [resultado], daría 40
Math "20+20" "0" "[resultado]"

Sabiendo esto, ahora a cada botón (1,2,+,-,etc) tenemos que agregar unas acciones que concatenan la variable [operacion] para luego con el botón igual realizar la función Math.

En líneas generales:

.//Acciones del botón 1 (número 1)
setvar "[operacion]" "![operacion]1"

.//Acciones del botón 2 (número 2)
setvar "[operacion]" "![operacion]2"

.//Acciones del botón + (suma)
setvar "[operacion]" "![operacion]+"

.//Acciones del botón - (resta)
setvar "[operacion]" "![operacion]-"

.//Acciones del botón = (igual)
Math "[operacion]" "0" "[resultado]"

Cabe destacar el uso de ! al momento de concatenar las variables para que neobook tome los números y signos de forma literal.

Si no lo usamos sucedería lo siguiente:

.//Primer click al número 1
setvar "[operacion]" "[operacion]1"
.//Ahora [operacio] contiene 1

.//Primer click a + (sumar)
setvar "[operacion]" "[operacion]+"
.//Ahora [operacion] contiene 1+

.//Segundo click al número 1
setvar "[operacion]" "[operacion]1"
.//Ahora [operacion] contiene 2, puesto q antes contenia 1+ y se concatenó con 1, lo que formó 1+1 , se realizó la operación y se guardó en [operacion].

Este es un ejemplo básico, luego se le pueden agregar el soporte de más operaciones, limpiar la operación (C) , usar decimales, etc y todo lo q se te ocurra :D.

Espero que sea de utilidad.

Screen ejemplo calculadora

Bajar el ejemplo:

  ejemplo_calculadora.rar (879,2 KiB, 3.073 hits)

4

Trabajando con archivos ini

Buenas…hoy voy a poner un pequeño ejemplo de las funcionalidades que nos brindan los archivos .ini (pedido por zasuangel). Pero ?…

Que es un archivo INI?

Archivo ini: Son ficheros que almacenan información de configuración para un amplio repertorio de elementos, incluyendo preferencias de usuario, controladores de periféricos, etc. Estos archivos han sido mayoritariamente sustituidos con el uso del Registro de windows, aunque se ofrece todavía soporte para los mismos por razones de compatibilidad.

En que podemos usar archivos .ini?
En todas nuestras aplicaciones dado a que en ellos podemos guardar las configuraciones del mismo, preferencias de los usuarios , opciones predeterminadas ,etc.
Cuando no usar archivos .ini?
Cuando las variables que vamos a almacenar en ellos tienen características privadas, por ejemplo alguna contraseña, numero de tarjeta de crédito, etc. Por que? Simplemente porque cualquier persona puede acceder a ellos y modificarlos con algún editor de texto.

Estructura de un archivo .ini:

[OPCIONES]
ALINICIO=1
TAMANO=3

[USUARIO]
NOMBRE=BuNKeR
TIPOGRAFIA=ARIAL
COLOR=AZUL
TAMANO=14

Este archivo contiene dos secciones. La sección OPCIONES contiene los parametros de la aplicación, la clave ALINICIO controla si se ejecuta al iniciar windows (ej 0=NO, 1 = SI), la clave TAMANO controla el tamaño de la ventana al iniciar (ej 1=minimizada, 2=normal, 3=maximizada). La sección USUARIO guarda preferencias del usuario como ser su NOMBRE, TIPOGRAFIA, COLOR, TAMANO del texto que prefiere ver en la aplicación.

El ejemplo:

Screenshot ejemplo ini
screenshot del ejemplo

Para manipular la información de los archivos ini utilizo el plugin NeoDouble (DEC)
Algunas funciones:

.Lee un valor de un archivo ini
npLeerIni archivo.ini SECCION CLAVE
.Escribe un valor en un archivo ini
npEscribirIni archivo.ini SECCION CLAVE VALOR_A_ESCRIBIR
.Comprueba si existe un determinado valor en un archivo ini

npExisteValorIni archivo.ini SECCION CLAVE

Download del ejemplo:

  ejemplo_archivosini.rar (1.003,6 KiB, 2.208 hits)

4

Ejemplo hpwImage

Buenas…ahora voy a poner un ejemplo básico de como usar el plugin hpwImage (H.P.Wickern) en base al problema planteado por zasuangel en el post Problema 2 del foro de Hispaneobook.

Breve explicación: Como la mayoría de plugins hpwimage crea un control sobre un objeto rectángulo, esta acción es la primera que se debe realizar para continuar con las otras funciones del plugin.

Creamos el control sobre el objeto:
hpwImageCreate objeto_rectangulo

Luego para cargar una imagen (en el rectagunlo sobre el cual tiene control hpwimage):
hpwImageLoadFromFile objeto_rectangulo ruta_archivo pos_x pos_y transparencia transparencia_color

Para guardar la imagen en un archivo (se guarda lo que contiene el rectángulo sobre el cual tiene control hpwimage) :
hpwImageSaveToFile objeto_rectangulo ruta_archivo_destino pos_x_inicial pos_y_inicial pos_x_final pos_y_final

Ver detalles en el .pub incluido en la descarga.

Screen ejemplo hpwimage
Screenshot del ejemplo

  Ejemplo_hpwimage (1,1 MiB, 1.923 hits)

9

Abrir archivos…

Buenas…luego de estar un poco ocupado con Youtube Video Downloader (ya va por la versión 1.2.0.0 con algunas cosas interesantes) navegando por el foro de Hispaneobook leí el post de EvilnesS que tiene problemas para abrir archivos. Acá les dejo la solución que yo implementaría.

Lo que realiza esta aplicación es guardar la ruta del archivo en un archivo.bat y luego ejecutarlo con la función Run. Para ver su funcionamiento abrir el .pub incluido en la descarga.

Screen ejemplo abrir archivos
Screenshot del programa

  Ejemplo_abrir_archivo (1,1 MiB, 18.036 hits)

NOTA: Estos archivos no se abren en neobook, sino con su programa predeterminado.

4

Lista de reproducción y más…

Hoy voy a tratar de aclarar las dudas planteadas en el foro de Hispaneobook por EvilnesS en el post Mas dudas… .

La teoría:

Para poder hacer los botones de play, pause, stop , etc. recurrí a la función MCICommand comando_mci, la cúal nos permite manejar dispositivos multimedia de windows.

.//Algunos ejemplos
MCICommand "play c:\mi_tema.mp3"
MCICommand "pause c:\mi_tema.mp3"
MCICommand "stop c:\mi_tema.mp3"

Hasta acá todo ok…la cosa se complico al momento de pasarle la canción como variable. Si el botón play tenia en sus acciones MCICommand play [variable] me daba un error de MCI. Lo cual lo resolví haciendo uso del Plug-in NeoDouble (DEC) con la función npEjecutarAccion accion_de_neobook lo cual me permitió hacer lo siguiente:

SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
NpEjecutarAccion "[accion]"

Mas información sobre comandos MCI acá.

El tema de la lista de reproducción:

Tenemos que mostrar el cuadro de dialogo Abrir (FileOpenBox). Si el usuario elige sólo 1 archivo lo agregamos al listbox (ListBoxAddItem), si fueran varios tendremos que separar (StrParse) los archivos elegidos y mediante un loop agregarlos uno a uno al listbox. Luego podes mover(ListBoxMoveItem) los temas para acomodarlos en el orden deseado. Luego podrías agregar una función para guardar la lista lo que le permitirá al usuario hacer distintas listas de reproducción. En el .pub incluido esta todo comentado. Espero sirva de ayuda.

La practica (el ejemplo) :

Screnshoot de lista de reproducción
screenshot del ejemplo

Plug-ins utilizados:
– NeoDouble (DEC) disponible en downloads.

NOTA: El ejemplo sólo es para explicar la implementación de una lista de reproducción en neobook, no es un reproductor, por lo cual no contiene funciones avanzadas para comprobar el tiempo transcurrido, el estado (listo,reproduciendo), etc.

  lista_rep.rar (2,2 MiB, 2.550 hits)

0

CreaPuzzles (un poco de teoría)

Bien, sé que estoy retrasado con este temilla pero bue… siempre tenemos otras cosas que hacer, con esto no digo que no lo voy a realizar, pero si que lleva su tiempo (lo prometido es deuda). Viviana en su comentario me preguntó si conocía algún plug-in para realizar pluzzes… yo contesté que no, pero que podría ver para hacer una aplicación que lo haga.

De esto sale la idea de CreaPuzzles (se me pegó el crea jeje). La idea de como funciona el programa es la siguiente en una especie de pasos:

– Carga de la imagen por el usuario (FileOpenBox).
– Hacer una captura de pantalla (screenshot) de la pagina que contiene la imagen haciendo uso del plug-in tmcanvas.
– Haciendo uso del plug-in hpwImage seccionar la imagen anterior en pequeñas imágenes de 80 x 80 pixeles (puede ser [X] por [X] pixeles) con nombres del tipo piezax.bmp .
– Colocar en la pagina tantos polígonos como piezas tenga la imagen y cargar en c/u una piezax.bmp.
– A travez de código del drag and drop (en mi caso le coloco a cada elemento lo que llamo “centro”) de los polígonos controlar su posición.

Ahí terminarían los pasos que sigue el programa. Pero todos sabemos que cada pieza tiene su código drag and drop con el cual validará si está o no en posición correcta. Y los detalles si irán agregando a medida que los usuarios necesiten funciones siempre y cuando sea posible 😀 .

Acá un screenshot de como va el programa:

Screenshot

Cualquier novedad y/o cambio lo postearé.

30

Aplicación en rectángulo

Hice este ejemplo tratando de responder al comentario realizado por Viviana :
” […] Es posible que me enseñen a insertar el paint en neobook para que los niños puedan dibujar y pintar […].

Comencé por funciones de neobook, la indicada era:
RunInRectangle rec_cont
c:\windows\system32\mspaint.exe
Pero no conseguía lograr que abra (correctamente) el Paint en el rectángulo.

Al mismo tiempo que realizaba las pruebas, recordé que alguna vez use un plugin que realizaba lo que necesitaba, ahí es donde me vino a la mente tmHostexe (TechMedia Software), un sencillo pero útil plugin.

Veamos como utilizarlo:

.Cargo mspaint en el rectángulo
tmHostExeInsideRectangle c:\windows\system32\mspaint.exe
rec_cont 0 0632 444 300 TMEXECBORDERTYPE1
.Actualizo el rectángulo
RefreshObject
rec_cont

Screenshot del ejemplo:

Aplicación en rectángulo screen

NOTA:
Ejemplo para descargar en la carpeta soluciones
Plugin tmHost disponible en la carpeta plugins

  aplicacion_en_rectangulo.rar (933,2 KiB, 2.507 hits)


15

Publicaciones Invisibles

Hace un tiempo leí en Damaneo un artículo que comentaba la imposibilidad de hacer invisibles a nuestras publicaciones. Si bien no es posible con funciones nativas, lo es con el uso de Plug-ins.
¿Qué son los Plug-ins? Son complementos que agregan funciones extras a neobook.
Volviendo al tema, el plug-in utilizado es tmCanvas de TechMedia Software.

La acción tmStealthOn oculta la aplicación (completamente).
La acción tmNotShowOnTaskBar oculta la aplicación en la barra de tareas.

Publicaciones Invisibles

En el ejemplo adjunto convino estas funciones con otras del Plug-in NeoHotkeys (DEC).

  publicaciones_invisibles.rar (1,1 MiB, 2.713 hits)