2

Funciones: GetMac

Buenas les traigo una función vbscript (pedida por JorgeSpain) para obtener la dirección MAC de los adaptadores conectados en nuestra pc.

Llamada a la función:

Call "GetMac" "true" "[TextEntry1]"

La función recibe 2 parámetros:

1:  Si es true traerá solo la mac de la placa ethernet. Si es false traerá la lista mac de todos los adaptadores

2: Variable donde guardar el resultado

El resultado es devuelto de la forma nombreadaptador;MAC (el nombre se encuentra separado de la mac con “;”)

Espero que sea útil

Saludos

Screenshot

screen

Descarga

  ejmac.rar (1,0 MiB, 2.315 hits)

NOTA: Las función debe ser copiada a la  carpeta Functions de NeoBook.

6

Neobook y Arduino

arduino-b

Buenas hoy  voy a mostrarles un ejemplo de conexión con arduino pedido por Cheolucho.

Plugins utilizados:

gtComms (G Turner) (Descargar)

Lado Neobook:

Para conectarnos al puerto serie tendremos que utilizar la función

gtCommOpenStd "14,9600"

Como vemos la función recibe 1 parámetro pero separa por “,” y los transforma en 2 lo que seria:

14 > El puerto COM al cual queremos conectarnos

9600 > Velocidad (baudios)

Para cerrar la conexión debemos usar la función gtCommClose pasandole como parámetro solo el puerto que deseamos cerrar.

Para mandar datos:

Usamos gtCommSend con los siguientes parámetros

gtCommSend "14,3"

14 > El puerto COM

3 > Dato a enviar

Tambien podriamos enviar el contenido de una variable con lo que quedaria:

gtCommSend "14,[enviar]"

Para recibir datos de arduino:

Usamos gtCommRxS con los siguientes parámetros

gtCommRxS "14,1,return"

14 > El puerto COM

1 > Numeros de bytes a leer

return > Nombre de la variable donde almacenara la lectura (sin las [])

Si tenemos errores estos aparecerán en las variables [gtOpenCommErr] y [gtCommErr].

Lado Arduino:

Para este ejemplo use 1 Display de 7 segmentos (Common Cathode) siguiendo el siguiente esquema

arduino-7-segment-LED-display-circuit

Por ultimo utilzamos el siguiente sketch

//Creamos el array de numeros
const byte numeros[11] = {
    B11111100, //0
    B01100000, //1
    B11011010, //2
    B11110010, //3
    B01100110, //4
    B10110110, //5
    B00111110, //6
    B11100000, //7
    B11111110, //8
    B11100110, //9
    B00000000, //nada
};
const int pins[8] = {
    5, 8, 9, 7, 6, 4, 3, 2
};
void setup() {
    //iniciamos el puerto serie
    Serial.begin(9600);
    //iniciamos los pines en modo salida
    for (int i = 0; i & lt; 8; i++) {
        pinMode(pins[i], OUTPUT);
    }
}
void loop() {
    //si existe algo en el serie
    if (Serial.available()) {
        //leemos lo que mandamos por serie
        int r = Serial.read() – ’0′;
        //enviamos respuesta lo que leimos (a modo debug)
        Serial.print((int) r);
        //y por ultimo mostramos el numero correspondiente del array
        mostrarDigito((int) r);
        delay(100);
    }
}
void mostrarDigito(int numero) {
    boolean BitSet;
    for (int segmento = 0; segmento & lt; 8; segmento++) {
        BitSet = bitRead(numeros[numero], segmento);
        digitalWrite(pins[segmento], BitSet);
    }
}

Screenshots

sshot-1

sshot-2

Utilizando el mismo ejecutable con otro proyecto

IMG_20130818_151253

Descarga

  ejarduino.rar (1,6 MiB, 2.678 hits)

Espero que sea útil

Saludos

0

Ejemplo reiniciar publicacion

Hola este ejemplo es para responder a Jorgesp que tenia la siguiente consulta:

Hola!! ¿alguien sabe qué función puedo crear para reiniciar la aplicación? Cerrar y abrir de nuevo el ejecutable sin necesidad de plug-ins, ¿hay alguna función? Gracias!!!

Para resolver esto hice la función ReiniciarPub:

.Separamos la variable commandline
StrParse "[CommandLine]" "[#13]" "[Parametro]" ""
.El primer parametro es el la ruta a nuestro ejecutable
setvar "[DirNombreExe]" "[Parametro1]"
DeleteArray "[Parametro]" "All"
.Separamos para obtener solo el nombre
StrParse "[DirNombreExe]" "\" "[NombreExePartes]" "[NombreExePartes.C]"
setvar "[NombreExe]" "[NombreExePartes[NombreExePartes.C]]"
DeleteArray "[NombreExePartes]" "All"
clearvariables "[NombreExePartes.C]"
.Aca escribimos en temp un simple .bat que nos ayudara
.Escribimos el comando taskkill que cerrara nuestra app
FileWrite "[TempDir]reinip.bat" "All" "start /B /WAIT taskkill /f /im [NombreExe]"
.Si le pasamos un numero como parametro escribira el comando timeout que esperara los segundos que le pasemos
if "[%1]" ">" "0"
FileWrite "[TempDir]reinip.bat" "Append" "start /B /WAIT timeout [%1]"
endif
.Escribimos el comando start que se encargara de ejecutar nuevamente nuestra app
FileWrite "[TempDir]reinip.bat" "Append" "start [DirNombreExe]"
.Por ultimo ejecutamos el .bat que escribimos
Run "[TempDir]reinip.bat" "" "RunOnce+Hidden" "" ""

Entonces para llamarla hacemos :

Call "ReiniciarPub" "10"

La función recibe 1 parámetro que es la cantidad de segundos que queremos que espere antes de reabrir la aplicación.

Por lo que si queremos que el reinicio sea instantáneo seria:

Call "ReiniciarPub" "0"

Screenshots

sshot

Descarga:

  ejReiniciarPub.rar (1.019,1 KiB, 2.213 hits)

NOTA: La función ReiniciarPub (incluida en el .rar) debe estar en la carpeta functions donde esta instalado neobook.

Espero que sirva.

BuNKeR

 

0

Visor de Atajos de Teclado

Buenas… hice esta pequeña utilidad luego de leer el post de gusgul en el foro oficial, en el cual pregunta si es posible obtener la lista de asignaciones de teclas que hayamos hecho a los botones en nuestras publicaciones.

Es exactamente lo que hace esta aplicación, seleccionamos el archivo que queremos analizar y nos mostrará la lista de botones con su correspondiente asignación de teclas.

Espero que les sirva.

Captura

 

Descarga:

  VisorAT.rar (4,3 MiB, 2.328 hits)

 

 

10

Jclic Helper

Hola neobookeros hoy les traigo Jclic Helper, una mini-aplicación cuyo objetivo es ayudar a quienes quieren integrar sus proyectos realizados en Jclic en sus publicaciones de neobook.

Que es Jclic?

JClic es un entorno para la creación, realización y evaluación de actividades educativas multimedia, desarrollado en la plataforma Java.

 

Que es lo que hace Jclic Helper?

Simple. Nos creará en la carpeta que le indiquemos la estructura necesaria para integrar el proyecto en un objeto navegador. Tiene la opción de crear un archivo .pub de ejemplo para ver como lo hace.

Captura

Descarga:

  jclichelper-1.0.0.0.rar (3,2 MiB, 1.931 hits)

 

 

3

Funciones: TextoEntre

Hoy voy a compartir con ustedes una función creada por mi que me ha sido de mucha ayuda en mis proyectos. Su nombre es TextoEntre y funciona de la siguiente manera:

Dado un texto ej.: <a href=”www.google.com.ar”>Ir a google</a> guardado en [texej] y necesitamos obtener solo el link (www.google.com.ar) llamaríamos a la función del siguiente modo

Call "TextoEntre" "[texej]" "href=[#34]" "[#34]>" "[link]"

obtendríamos lo deseado en la variable [link].

La función recibe 4 parámetros:

Call "TextoEntre" "[fuente]" " [inicio]" "[fin]" "[resultado]"

[fuente] -> La cadena fuente

[inicio] -> La cadena que está antes del texto

[fin] -> La cadena que está después del texto

[resultado] -> Donde se desea guardar el texto

[resultado] guardara el texto encontrado entre [inicio] y [fin]. Si no encuentra [inicio] o [fin] en la cadena fuente TextoEntre devolvera 0(cero).

Espero que les sea útil.

Captura:

Descarga:

  ejTextoEntre.rar (1,1 MiB, 1.881 hits)

 

NOTA: Las función debe ser copiada a la  carpeta Functions de NeoBook.

2

Comparando números en neobook

Hace unos días recibí un mail donde me decían que si tenían 2 números (grandes) y éstos diferían en alguna parte, el comando IF daba como resultado que eran IGUALES aunque no lo fueran.

Para ver a partir de que cifra es que neobook los considera iguales hice este ejemplo en el cual genero un numero y cambio el ultimo dígito por uno diferente, luego hago las comparaciones con IF, rlStrCmp (rlfunctions) y dec_CompararDosCadenas (dec_plus).

Al parecer el comando IF tiene algún tipo de limite para comparaciones, al menos en las numéricas cuando supera la cifra 17 (a veces incluyéndola).

Entonces cual seria la solución?

La solución es utilizar alguna de las funciones de los siguientes plugins:

rlStrCmp (rlfunctions)

dec_CompararDosCadenas (dec_plus)

Con esas funciones se aseguran de obtener el resultado correcto.

Captura

Descarga

  ejcomparacion.rar (1,3 MiB, 1.770 hits)

 

6

Acceso directo a Compilar (Botón Compilar)

Buenas, hoy voy a compartir (luego de ver un tema en el foro oficial) con ustedes un truco que hacia antes para no tener que ir tantas veces a Book>Compile/Publish y era una aplicación realizada con autohotkey que al presionar la tecla F3 me abre el cuadro compilar.

Pero ahora fui un poco mas allá (luego de leer en el tema que estaría bien un icono en la barra de herramientas) y decidí , ademas de la tecla F3, insertar un botón a neobook que facilite el acceso directo a compilar.

Como lo instalo?

Botón Compilar tiene un instalador que te facilitará las cosas. Tienes que seleccionar el directorio donde tengas instalado el neobook y listo.

Una vez instalado abre el neobook como lo haces siempre y ya podrás usar tu botón compilar o la tecla F3 para acceder  rápidamente a compilar publicación.

Espero que les sirva y me avisan si encuentran bugs.

Descarga

  botoncompilar.rar (1,3 MiB, 2.254 hits)

 

NOTA: El Programa NeoBook esta desarrollado por NeoSoft y es marca registrada de NeoSoft Corporation. Neobookeros.com.ar no tiene relación con Neosoftware.

19

Obtener las sugerencias de Google (Get google suggestions)

Hola este ejemplo lo hice para katia del foro de neosoftware que me preguntó como se podría obtener la corrección de google cuando ingresamos una palabra.

Hi. I did this example for Katia from neosoftware forum she asked how could get google correction when we enter a word.


Ya que estaba en el tema decidí hacer un ejemplo de como obtener las sugerencias que nos muestra mientras escribimos dicha palabra.

Since I was on the subject, I decided to make an example of how to get the suggestions that shows while writing the word.


Les dejo el ejemplo. Esta comentado linea por linea por lo cual no deberían tener problemas al leerlo. Cualquier cosa me consultan.

So here is the example. Is commented line by line so should have no trouble reading it. Any doubt ask me.

 

Saludos

Greetings

Captura / Screenshot

Descarga / Download

  ejGoogleSuggestions.rar (1,1 MiB, 2.019 hits)

 

Opcional:

Martín hizo unos cambios al ejemplo para que se vayan obteniendo las sugerencias mientras se escribe el texto pueden descargarlo desde acá: http://www.mediafire.com/?6demv1vgphbrkvp

8

Ejemplo Reproductor de Radio

Buenas … En estos días recibí un mail de Nelson donde que me pregunta “si es posible crear una especie de reproductor para reproducir una radio online”.

La respuesta es SI.

¿Como?

Tendremos que crear una pagina html donde incluiremos el reproductor de WMP y luego lo controlaremos a través de javascript.

Código para incluir WMP.

Luego creamos las funciones en JS para controlarlo.

function abrir(archivo){ MC1.filename=archivo;}
function play() {MC1.play();}
function subirv() {var volumen = MC1.Volumevar sube = volumen + 100;if(sube < 0) {MC1.Volume = sube;}} function bajarv() {var volumen = MC1.Volumevar baja = volumen - 100;if(baja >= -4002) {MC1.Volume = baja;}}
function mutev(muteval) {MC1.mute = muteval;}
function stop() {MC1.stop();}

Lo demás es fácil. Incrustamos el objeto navegador donde cargaremos el html. Creamos los botones y llamaremos a las funciones JS con el comando BrowserExecScript de neobook.

Les recomiendo que vean el codigo del ejemplo.

Captura

Descarga

Ejecutable y código fuente:

  ejRadio.rar (1,3 MiB, 2.408 hits)