Ejemplo 2 mouses

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No fue valorado)
Loading ... Loading ...

Viendo el foro de neosoftware me encuentro con esta pregunta de smartmedia donde pregunta como puede obtener dos punteros moviéndose en paralelo.

Manos a la obra.

Para lograr el efecto vamos a necesitar un png con transparencia con el puntero que deseamos clonar. Tenemos que insertarla como un objeto polígono.

En este caso hay 2 imágenes por las cuales el mouse deberá pasar, con lo cual deberemos de crear 2 timers.

En el timer que controla la imagen izquierda (TMI).

GetMousePos "[x_pos]" "[y_pos]"
Setvar "[x_pos_p]" "[x_pos]+300"
Setvar "[y_pos_p]" "[y_pos]"
MoveObject "Polygon1" "[x_pos_p]" "[y_pos_p]"

En el timer que controla la imagen derecha (TMD).

GetMousePos "[x_pos]" "[y_pos]"
Setvar "[x_pos_p]" "[x_pos]-300"
Setvar "[y_pos_p]" "[y_pos]"
MoveObject "Polygon1" "[x_pos_p]" "[y_pos_p]"

Con ese código lo que hacemos es obtener la posición del mouse y sumarle la distancia a la que queremos que se muestre el otro mouse. En este caso es 300 (280 que es el ancho de la imagen + 20 que es la separación entre las imágenes).

Luego en la imagen izquierda:

Acciones > Entrada de mouse:

TimerStart "TMI" "1"

Acciones > Salida de mouse:

TimerStop "TMI"
MoveObject "Polygon1" "645" "-1"

En la imagen derecha:

Acciones > Entrada de mouse:

TimerStart "TMD" "1"

Acciones > Salida de mouse:

TimerStop  "TMD"
MoveObject "Polygon1" "645" "-1"

Captura

Descarga

Descargar: ej_two_mouses.rar  ej_two_mouses.rar (1,1 MiB, 47 clicks)

NOTA: El ej puede modificarse para optimizarlo.

Te sirvio? Considera hacer una donacion

Obtener Vendor ID y Product ID

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (1 votos, promedio: 5,00 de 5)
Loading ... Loading ...

Esta es mi forma de resolver la consulta que samfourie hizo en el foro de neosoftware, en la cual pregunta como obtener el Vendor ID de un dispositivo USB. Con esto podría restringir el uso de su aplicación a dispositivos que él decida.

Al momento de escribir esta entrada (me demoré en publicarla por cuestiones de trabajo), sam ya encontró una forma de hacerlo, pero siempre es bueno tener alternativas. Por mi parte encuentro dicha solución como insegura, pues manipula un archivo de texto que puede ser alterado, y no comprueba si la aplicación esta siendo ejecutada desde el dispositivo (solo comprueba su presencia, que como dije antes puede ser alterado).

Pues esta es mi manera:

Plugins necesarios:

hpwControl

Funciones necesarias:

EsRemovible (incluida en el rar)

LeerValorBinarioReg (incluida en el rar)

Para llegar a la solución, lo separé en 3 pasos.

1 – Comprobar si la unidad es removible

2- Si es removible obtiene del registro informacion de la unidad (si no es removible cierra la aplicación)

3- Una vez obtenida la informacion busca en las unidades usb el VID y PID con el SN del dispositivo.

En el ejemplo esta todo comentado, por lo cual no pondré todo el código.

Captura

Descarga

Descargar: ejVID.rar  ejVID.rar (1,2 MiB, 189 clicks)

NOTA: Las funciones listadas arriba deben ser copiadas a la carpeta Functions de NeoBook.

NOTA 2: El ejemplo puede ser modificado para restringir el uso segun el VID obtenido.

Te sirvio? Considera hacer una donacion

Simular mover la rueda del mouse (wheel)

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (1 votos, promedio: 4,00 de 5)
Loading ... Loading ...

Esta entrada no estaba seguro de postearla pero lo haré. Es una posible solución al problema que nos describe el amigo Quili en un post del foro de Harko.

Posible, pues no estoy muy seguro si es lo que realmente necesita, pero traté de llegar al objetivo.

Encontré 2 formar de “simular” mover la rueda del ratón.

Forma 1:

Utilizando el plugin EditorsToolbox. Crear un control sobre un rectángulo dek tamaño necesario y cargar texto. Hay que ver cuantas lineas se muestran determinar cuantas lineas se muestran en el cuadro y restarle 1 en el ejemplo 7 (8-1). En mis pruebas al mover las rueda del mouse me muestra cada 3 lineas. Es por esto que guardo en 2 variables los dos datos anteriores.

setvar “[lineasm]” “7″
setvar “[pasos]” “3″

Luego en cada botón, lo que hago es desplazar el texto [lineasm] veces y volver [pasos] veces logrando el efecto de la rueda. Por favor para mas detalles mirar el ejemplo.

De esta forma se pueden tener varias entradas de texto, pues al presionar los botones para bajar o subir, se realiza un foco al objeto deseado logrando cumplir otro objetivo del problema.

Forma 2 (la mejor para mi gusto):

Utilizando el plugin RacAutoIt3x. Crear un timer que controle cada determinado tiempo la posición del mouse. Luego en la publicación en un objeto texto simple crear zonas en la parte superior e inferior del objeto. Sabiendo sus coordenadas podemos saber si el mouse se encuentra dentro de ellas o no.


Con esto si el mouse esta en la zona superior

RAC_MouseWheel “UP” “1″

Si se encuentra en la zona inferior

RAC_MouseWheel “DOWN” “1″

Donde 1 es la cantidad de veces que se simula las vueltas de la rueda. Con esta forma en textos largos podría ser tedioso llegar hasta el final. Pero podemos mejorar haciendo varias zonas, cuanto mas se acerquen a los extremos incrementar las vueltas de rueda ej.: RAC_MouseWheel “DOWN” “3″

Espero que se entienda y les sirva.

Captura

Descarga

Descargar: ejsimularwheel.rar  ejsimularwheel.rar (2,0 MiB, 119 clicks)


Te sirvio? Considera hacer una donacion

Instale plugins fácil y rápido con NeoPlugin Installer

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (4 votos, promedio: 4,25 de 5)
Loading ... Loading ...

Seguramente te pasó que formateaste la pc y tuviste que instalar uno por uno tus “cientos” de plugins. Tedioso ¿no? Ahora NeoPlugin Installer (NPI en adelante) te ayudara a la hora de instalar tus plugins.

Sólo deberás seleccionar la carpeta donde tienes tus plugins, seleccionar cuales quieres instalar y NPI hará el resto. Lo mismo a la hora de desinstalar, seleccionar y NPI se encargará.

Características de NPI:

Multilenguaje (Inglés y Español).
Interfaz totalmente intuitiva.
Permite Instalar y Desinstalar plugins.
Instala cientos de plugins en cuestión de minutos.
Desinstala aún más rápido.

Capturas


Plugins seleccionados para instalar


Listado de plugins para desinstalar

Descarga

Descargar: neonpugininstaller.rar  neonpugininstaller.rar (3,7 MiB, 1.211 clicks)

NOTA/NOTE:
-Por favor al instalar plugins selecciona desde arriba hacia abajo, ésto lo hará mas rápido.
-
Neobook debe estar cerrado.
-To install plugins please select from top to bottom, this will make faster.
-Neobook must be closed.

Historial de Actualizaciones:

update Actualización 1/03/10 [Versión 1.0.0.1]:

  • - Añadida la posibilidad de guardar y restaurar datos de plugins registrados
  • – Corrección de pequeños detalles
  • - Link de descarga actualizado!

Te sirvio? Considera hacer una donacion

Ejemplo mouse inactivo

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No fue valorado)
Loading ... Loading ...

Este ejemplo es para responder al comentario de Zeus que hizo en la entrada Info Mouse donde pregunta como puede hacer para realizar una aplicación que ejecute acciones después de cierto tiempo de inactividad del mouse.

Pues la forma que pensé de hacerlo es con un timer que compruebe la posición del mouse y pasado determinado tiempo si la posición no ha cambiado ejecute las acciones deseadas.

El ejemplo se encuentra comentado. Cualquier duda me consultan.

Captura:

Descarga del ejemplo:

Descargar: ejmouseinactivo.rar  ejmouseinactivo.rar (1,0 MiB, 168 clicks)

Te sirvio? Considera hacer una donacion

Ejemplo copiar ultimos 10 archivos modificados

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No fue valorado)
Loading ... Loading ...

Esta entrada es para responder a worf que hizo su pregunta en el foro de harko http://specialapps.software-zone.com/forum/viewtopic.php?t=847.

Quiero copiar unos archivos que son imagenes, que se van actualizando constantemente, o sea se agregan en una carpeta pero los archivos anteriores no se borran, lo que no se como hacer es un boton que me copie a otra carpeta los ultimos 10 archivos que se agregaron

gracias claudio

Para resolver esto necesitamos del plugin NeoDouble (DEC) más precisamente la acción npFechaModificacionArchivo la cual nos devolverá (como su nombre lo indica) la fecha en que fue modificado, dato que luego pasaremos a TimeStamp (función incluida en el .rar).

Una vez tengamos los timestamps de los archivos en un vector, los ordenaremos con el método burbuja (función incluida en el .rar). Ahora que tenemos ordenados los vectores nombres y timestamps podremos extraer los últimos 10.

No explico todo el código, pues esta comentado en el ejemplo. Cualquier duda me consultan.

NOTA1: El ej puede modificarse para optimizarlo.

NOTA2: Los archivos Burbuja y FechaATimestamp deben ser copiados a la carpeta Functions de NeoBook.

Captura:

Descarga del ejemplo:

Descargar: ejcopiarultimosarchs.rar  ejcopiarultimosarchs.rar (1,4 MiB, 233 clicks)

Te sirvio? Considera hacer una donacion

Ejemplo Mover Ventana (forma personalizada) II

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No fue valorado)
Loading ... Loading ...

En la entrada  Ejemplo Mover Ventana (forma personalizada) vimos como mover la ventana sin tener la barra de títulos nativa de windows. Lo hacíamos con el plugin tmDragDropObj, que lamentablemente no tiene efecto en Vista ni en 7 (Seven).

Ahora que utilizo Windows 7 y gracias a que Jomego preguntó si existe una solución, me puse a buscar una… Primero trate de recordar que plugin puede detectar los eventos del mouse (btdown , btup) y vi un par, pero ninguno funciona en W7, probablemente tampoco en Vista.

Luego de pensar… La lámpara se prendió :idea: . Como utilizo mucho Flash para otros trabajos, recordé que efectivamente Flash puede capturar eventos del mouse cuando interactua con un MovieClip (MC).


Plugins utilizados:

  • NeoDouble (DEC)

El archivo de Flash tiene que tener un MC de la forma que necesitemos y en las acciones del primer fotograma el siguiente codigo:

bt.useHandCursor = false; //Para mostrar el cursor normal y no la mano
bt.onPress = function(){ //Cuando se presione BTDOWN
{fscommand ("NeoBook", "npEjecutarAccion \"[acc_b]\"");}
};
 
bt.onRelease = function(){ //Cuando se suelte BTUP
{fscommand ("NeoBook", "npEjecutarAccion \"[acc_a]\"");}
};

Noten que bt es la instancia del MC.

Luego lo publicamos y obtenemos el swf que tenemos que cargar en el objeto Flash en nuestra publicación.

Es el único cambio que debemos hacer para que funcione, si no entiendes puedes ver ejemplo nombrado al comienzo . No olvides de revisar el ejemplo incluido en el archivo para descargar. Se incluye el archivo .swf y .fla (CS3 y CS4).

Espero que sirva.

Captura:

ejemplo_mover_ventanaII

Descarga del ejemplo:

Descargar: ejemplo_mover_ventanaII.rar  ejemplo_mover_ventanaII.rar (1,4 MiB, 204 clicks)

NOTA: Si utilizamos este metodo, necesitamos que la pc tenga instalado adobe flash player. Si no estamos seguros podremos embeberlo en la aplicación con un incremento del tamaño final del archivo.

Descarga el ejemplo actualizado (sugerencias por Mongoose).

Te sirvio? Considera hacer una donacion

GPNeo: Plugins gratuitos para Neobook

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (2 votos, promedio: 5,00 de 5)
Loading ... Loading ...

gpneo

Hace un par de días Mariano Chiaverano (DAMANEO) me mando un mail el cual transcribo a continuación:

Me comunico con ustedes para hacerles llegar una Website que he creado recientemente y que intentaré completar a la brevedad. La Website intentará reunir todos los plugins gratuitos que existen para Neobook, desde los más antiguos a los más nuevos. En todos los casos se respetará el autor de los mismos, pero los archivos (en zip y/o cab) estarán en el sitio GPNeo disponibles para todo aquel que quiera hacerse de ellos. Igualmente existiran casos, como los plugins de HPW, los cuales no incluiré en la website debido a que todos son gratuitos y todos estan actualmente disponibles en la website oficial de HPW. Solo se hara mensión y se incluirá el enlace de ellos en GPNeo.
Estoy trabajando para traducir todas las descripciones al inglés (En breve).

Personalmente me parece una gran contribución a la comunidad, pues los que nos iniciamos recientemente en el mundo de neobook no pudimos ver algunos plugins.

Con esta web podremos tener (si contribuimos todos) la base de plugins gratuitos a nuestro alcance.

Desde neobookeros.com.ar el mejor de los deseos para GPNeo.

Link: http://gpneo.eshost.com.ar/

Te sirvio? Considera hacer una donacion

NeoIndent

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (5 votos, promedio: 4,40 de 5)
Loading ... Loading ...

neoindent_screen1

Buenas…hoy les voy a presentar una pequeña utilidad para todos los neobookeros. NeoIndent surge de la necesidad de ordenar el código que escribo en los objetos de neobook. Hay veces que tengo que insertar bloques de código dentro otros bloques, lo cual desordena todo el código y lo hace poco legible. Ahí es donde NeoIndent interviene y dejará tu código ordenado y legible.

Pues puedes escribir un bloque de código  o abrir una publicación y realizar el indent a todas las acciones de todos los objetos

Veamos un ejemplo practico:

Código que escribimos:

SetVar "[accion]" "MCICommand [#34]STATUS [tema] mode[#34]"
npEjecutarAccion "[accion]"
if "[MCIResponse]" "<>" "playing"
if "[random]" "=" "3"
setvar "[random]" "1"
else
if "[random]" "<" "3"
setvar "[random]" "[random]+1"
endif
Endif
npRutaCortaArchivo "[tema[random]]"
setvar "[tema]" "[npResultadoAccion]"
SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
npEjecutarAccion "[accion]"
Endif

NeoIndent los transforma a:

SetVar "[accion]" "MCICommand [#34]STATUS [tema] mode[#34]"
npEjecutarAccion "[accion]"
if "[MCIResponse]" "<>" "playing"
    if "[random]" "=" "3"
        setvar "[random]" "1"
    else
        if "[random]" "<" "3"
            setvar "[random]" "[random]+1"
        endif
    Endif
    npRutaCortaArchivo "[tema[random]]"
    setvar "[tema]" "[npResultadoAccion]"
    SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
    npEjecutarAccion "[accion]"
Endif

Descargar:

Descargar: NeoIndent.rar  NeoIndent.rar (1,6 MiB, 1.999 clicks)


Por bugs y/o sugerencias bunker@neobookeros.com.ar

Historial de Actualizaciones:

update Actualización 19/06/09 [Versión 1.0.0.1]:

-Al ingresar un código extenso manualmente al realizar el indent no mostraba información al usuario de que se estaba analizando el texto. Corregido. Gracias a Quili por comunicar.

-Al realizar indent a archivos y éste en su codigo tenía acciones que contenian el caracter “| ” al escribir en el archivo se escribia como una linea nueva. Corregido. Gracias a Quili por comunicar.

Link de descarga actualizado!

Te sirvio? Considera hacer una donacion

Música de fondo en publicaciones

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (3 votos, promedio: 5,00 de 5)
Loading ... Loading ...

Hola hoy voy a compartir con ustedes un ejemplo (contestando a Jackie en su comentario) de como reproducir música de fondo en sus publicaciones y poder navegar entre las paginas sin que la música se pare.

Las opciones para solucionar esto eran:

Objeto MediaPlayer (al cambiar de página se para)
Objeto Flash (al cambiar de página se vuelve a ejecutar)
Comandos MCI (ésta es la solución)

Pues bien ya antes había tenido un pequeño encuentro con los comandos MCI en la entrada Lista de reproducción y más… la cual recomiendo que le den un vistazo antes, pero en este caso era distinto, pues yo debía investigar como saber si ya se esta reproduciendo un archivo antes de reproducir otro.

Luego de mucho google :D di con la solución. Pero vamos por pasos.

Primero le diremos a nuestra publicación (en acciones al cargar la aplicación ) cuales y cuantos archivos queremos reproducir y le diremos que todavía no estamos reproduciendo.

setvar "[temas]" "3"
setvar "[tema1]" "[PubDir]tema1.mp3"
setvar "[tema2]" "[PubDir]tema2.mp3"
setvar "[tema3]" "[PubDir]tema3.mp3"
setvar "[play]" "NO"

Luego en las acciones de la primera página (o la que necesitemos que se inicie la reproducción) pondremos el siguiente código.

If "[play]" "=" "NO"
    :ran
    Random "[temas]" "[random]"
    if "[random]" "=" "0"
        GotoLine "ran"
    endif
    npRutaCortaArchivo "[tema[random]]"
    setvar "[tema]" "[npResultadoAccion]"
    SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
    npEjecutarAccion "[accion]"
    SetVar "[play]" "SI"
EndIf
TimerStart "Timer1" "1000"

Lo que hace el código anterior es generar un numero aleatorio para empezar a reproducir ese archivo, esto para evitar siempre reproduzca el mismo sonido siempre. Todo ésto lo hace solamente una vez al entrar a la página pues si navegamos a otra y volvemos a ésta empezaría a reproducir otro archivo haciendo que se mezclen los sonidos.

En las acciones del Timer

SetVar "[accion]" "MCICommand [#34]STATUS [tema] mode[#34]"
npEjecutarAccion "[accion]"
if "[MCIResponse]" "<>" "playing"
    if "[random]" "=" "3"
        setvar "[random]" "1"
    else
        if "[random]" "<" "3"
            setvar "[random]" "[random]+1"
        endif
    Endif
    npRutaCortaArchivo "[tema[random]]"
    setvar "[tema]" "[npResultadoAccion]"
    SetVar "[accion]" "MCICommand [#34]play [tema][#34]"
    npEjecutarAccion "[accion]"
Endif

El código anterior obtiene el estado del dispositivo MCI y si éste no esta reproduciendo pasa al siguiente tema.

Espero que sea claro, pues me cuesta explicarlo en detalle, cualquier cosa comenten y responderé su consulta.

Plugins Utilizados:

  • NeoDouble (DEC)

Screenshot del ejemplo:

ejemplo_musica_fondo

Descarga:

Descargar: ejemplo_musica_fondo.rar  ejemplo_musica_fondo.rar (6,9 MiB, 746 clicks)


Saludos

Te sirvio? Considera hacer una donacion