0

Win 7 Volume Control

Buenas hoy voy a compartir con ustedes una solución a un tema que lei en el foro oficial. Chromebandit informa que las funciones para manipular el volumen no funcionan correctamente windows 7.

Se me ocurrió probar con AutoIt y funcionó. Entonces gracias a RACAutoIt3X podemos hacerlo en neobook. Para esto utilizamos la función RAC_SendKeys con {VOLUME_MUTE}, {VOLUME_UP} o {VOLUME_DOWN} según necesitemos.

Para facilitar las cosas he creado 4 funciones de neobook:

RacAutoItVol0 > Pone el volumen en 0

RacAutoItVol100 > Pone el volumen en 100

RacAutoItVolUp > Aumenta el volumen según el parámetro pasado

RacAutoItVolDown > Baja el volumen según el parámetro pasado

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

Captura

Descarga

  ejwin7vol.rar (1,3 MiB, 2.277 hits)

0

Ejemplo 2 mouses

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

  ej_two_mouses.rar (1,1 MiB, 2.075 hits)

NOTA: El ej puede modificarse para optimizarlo.

1

Ejemplo copiar ultimos 10 archivos modificados

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:

  ejcopiarultimosarchs.rar (1,4 MiB, 2.057 hits)

8

NeoIndent

[raw]

[/raw]

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:

  NeoIndent.rar (2,4 MiB, 4.899 hits)

Por bugs y/o sugerencias [email protected] 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! update Actualización 20/12/10 [Versión 1.0.0.4]: -Ahora se puede seleccionar el idioma (Español-Ingles). -Agregada opción de redimensionar la aplicación. El programa recuerda el tamaño y posición de la ventana. -Ahora la comprobación de actualizaciones es opcional (ver botón opciones). Link de descarga actualizado!

4

Subrutinas

El empleo de subrutinas aporta muchas ventajas entre las que se destacan las siguientes:

-Se pueden escribir como subrutinas secciones de código y ser empleadas varias veces en el mismo programa.

-Dan a los programas un carácter modular, es decir, se pueden codificar diferentes módulos para utilizarlos en cualquier programa.

-Se reduce notablemente el tiempo de programación y la detección de errores, utilizando repetidamente una subrutina.

-El código es más fácil de interpretar, dado que las instrucciones de las subrutinas no aparecen en el programa principal, sólo figuran las llamadas (GoSub).

La función GoSub (llamada a subrutina) consigue que la ejecución del programa “salte” al código de la subrutina a la que hace referencia, luego (cuando ésta finaliza) vuelve a la siguiente línea de donde se realizo el llamado.

Para crear una subrutina en neobook:

Nos dirigimos al menu BOOK >> Subrutines >> NEW

Creando una subrutina

Ingresamos el nombre:

Creando una subrutina

Escribimos el código entre las líneas :leer_archivo y Return.

Escribiendo la subrutina

Para modificarlas vamos al menu BOOK >> BOOK PROPERTIES >> ACTIONS…
y click en la pestaña subrutines.

Para llamarlas:

.Para llamar a una subrutina la sintaxis es
GoSub "nombre_de_subrutina"

.Ejemplo
GoSub "leer_archivo"