28

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, 1.335 hits)



28 Comments

  1. Ezequiel, hola, lo bajé ya, por tanto voy atrabajarlo y te cuento
    gracias por todo
    Vivian

  2. Fantastico, logré insertar el paint, pero lo único que no puedo es agrandar la imagen del paint, ya que tengo que achicar la imagen a colorear, si tu sabes como agrandarla sería muy bueno que me enseñaras.
    te agradezco toda la información y ayuda.
    Viviana

  3. mmmm…Desde neobook creo que no es posblie… Proba esto, capaz te sea útil. Abri mspaint, cambia el tamaño y cierralo. Cuando volvés a abrirlo verás que quedo guardado el tamaño que tenia anteriormente…En tu caso, antes de abrir la aplicacion que contiene paint tendrias que hacer lo que te dije antes…de este modo tendrias el espacio de trabajo que necesitas :D.

    P/D: Lo que estoy buscando es donde guarda esos datos paint para ver si es posible manejarlos desde neobook. cualquier cosa te aviso. salu2

  4. Ezequiel, jola nuevamente Yo, hay algun plug-in que te permita hacer puzzles y rompecabezas, es decir, tomas un dibujo y lo divudes en varios pedazos y el niño tiene que armarlo. y otro plug-in en el cual el niño tenga que completar las palbabras segun el dibujo igual que resolver un puzzle, espero que me enyiendas.
    En tu página se puede colocar trabajos echos con el neobook?, para aportar con todo lo que me haz enseñado, ya que vale la pena hacerte un regalo, lo mereces porque haz sido muy buen amigo y compañero de acción en neobook.
    GRACIASSSSSSSSSSSSSSSSSSSSSSSSSS.
    Viviana

  5. Plug-in para hacer pluzzes la verdad no vi…pero dame unos días que te armo un ejemplo de como hacerlo…

    Si se puede subir (leer noticia) trabajos realizados por los neobookeros, para hacerlo tenés que hacer click acá.

    Saludos

  6. Hola, me podrías decir cómo hacer para que al arrastrar un texto simple (“azul”) sobre otros: (“verde”), (“rojo”) (“negro”), etc. se ejecute el wav correspondiente a ese texto, es decir, si arrastro “azul” sobre “verde” que se ejecute “verde.wav”, sobre “negro”, “negro.wav” y así sucesivamente. Gracias, estoy tratando de hacer una aplicación para aprender a leer y espero llegar a buen puerto.

  7. Pues a mi no me funciona, entoy intentando ejecutar en una ventana la consola de comandos (cmd.exe) y no hay manera, ni con éste plug-in ni con la función por defecto de neobook.

  8. Hola Manu…pues tendrias q decirme q windows usas, o q tipo de error t da…hasta q version de neobook utilizas… no te anda el ejecutable incluido en el ejemplo???. saludos

  9. Bajé la “Aplicacion en Rectangulo” y no me funciona 😥 .
    No me funciona ni el Ejecutable que viene, y la .pub tampoco 😕
    en el Boton de la Primera pagina llamado “Abrir mspaint” tiene una Linea que no lo toma ya que no está en Azul, la linea es: tmHostExeInsideRectangle “c:\windows\system32\mspaint.exe” “rec_cont” “0” “0” “632” “444” “300” “TMEXECBORDERTYPE1”
    Gracias de Antemano

  10. Hola, Intente probar el ejemplo, pero no encuentro el Plug-In en el archivo de ejemplo :S

    Podrias postear un link de descarga de ese Plug-In ???

    Thx

  11. Me olvidaba, he buscado en la WEB del fabricante, hay muchos pero ninguno llamado tmHost ni de coña 😛

    Y por cierto, la Web de GPNeo donde habian Plig-ins gratuitos no la veo online :( desde hace tiempo, la ultima ves que fue vista fue el 6 de mayo del 2010, espero que vuelvan, y seria bueno que publiquen webs de Pluins y de foros de discucion sobre NeoBook ^^

    Thx

  12. Okis, el link funciona, ia lo pruebo, necesita ese Pluging algun registro o algo, al parecer todos los de esa empresa son de paga, escepto unos 5 o 6 que ya los baja para probar.

    En cuanro a link del foro de GPNeo aun no funciona ( http://gpneo.eshost.com.ar/ ) cuando entro me sale que no se encuentra la pagina y solo me sale para acceder al backup de google.

    Thx ^^

  13. Bueno estoy viendo el plugin, segun eso se debe usar una ruta completa (Full Path), no se puede usar Rutas relativas ???

    Thx, si tengo mas dudas aviso :)

  14. Hola Squadron

    No necesita registro, el plugin es freeware. Pues ya debe ser algo con tu conexión, pues yo puedo verla sin problemas a GPNeo.

    La verdad no probe con rutas relativas, pero recuerda que puedes usar [PubDir] para el directorio actual de la aplicación.

    Saludos

  15. Bueno, ya comprobe, al parecer no soporta rutas relativas defrente, sino hay que usar por ejemplo la variable de [PubDir] por ejemplo para dar con el directorio de mi propia aplicacion, como seria si por ejemplo io necesito especificar un programa que estaria en una carpeta anterior a la de la aplicacion, por ejemplo que haya una carpeta C:\carpeta1\MiApp y debo hacer que se ejecute por ejemplo un programa que esta en la carpeta C:\carpeta1\OtraApp.

    Normalmente en ruta relativa seria simple, se retrocede una carpeta y se busca la que queremos, por ejemplo en PHP seria asi: ../OtraApp/Prg.exe (el “../”) significa que retrocedemos una carpeta de donde se encuentre la aplicacion que se esta ejecutando y ahi buscara la carpeta nueva, se puede retroceder tantas carpetas como se necesite en el arbol de carpetas simplemente aumentando eso “../” por cada carpeta.

    Otra cosa que note es que al iniciar el programa, primero se ejecuta como deberia ser, fuera de la aplicacion y un instante despues se coloca dentro de la ventana, no es algo grave pero no es muy bonito que digamos, hay alguna forma de solucionarlo?

    Y por ultimo, si por ejemplo hago una aplicacion en Visual Basic y necesito que interactue con la aplicacion hecha en NeoBook, como se haria esto, por ejemplo para pasarle una variable o mas variables o para que ejecute acciones o talvez comandos nativos de NeoBook?

    Thx ^^

  16. Hola Squadron

    Bueno, ya comprobe, al parecer no
    soporta rutas relativas defrente, sino
    hay que usar por ejemplo la variable
    de [PubDir] por ejemplo para dar con
    el directorio de mi propia aplicacion,
    como seria si por ejemplo io necesito
    especificar un programa que estaria en
    una carpeta anterior a la de la
    aplicacion, por ejemplo que haya una
    carpeta C:\carpeta1\MiApp y debo hacer
    que se ejecute por ejemplo un programa
    que esta en la carpeta
    C:\carpeta1\OtraApp.

    Claro que se puede…puedes separar la variable [PubDir] y así obtener las carpetas
    Supongamos que [PubDir] contiene C:\carpeta1\carpeta2\MiApp.

    Con StrParse “C:\carpeta1\carpeta2\MiApp” “\” “[dir]” “[dir_c]” obtendremos

    [dir1] > C:
    [dir2] > carpeta1
    [dir3] > carpeta2
    [dir4] > MiApp

    Con esto luego podremos armar la ruta deseada especificando cuantos niveles queremos subir

    StrParse “C:\carpeta1\carpeta2\MiApp” “\” “[dir]” “[dir_c]”
    setvar “[dir_final]” “”
    setvar “[subir]” “1”
    Math “[dir_c]-[subir]” “0” “[subir]”
    Loop “1” “[subir]” “[i]”
    setvar “[dir_final]” “[dir_final][dir[i]]\”
    endloop

    En el ejemplo anterior la variable [dir_final] nos devolvería C:\carpeta1\carpeta2\

    Otra cosa que note es que al iniciar
    el programa, primero se ejecuta como
    deberia ser, fuera de la aplicacion y
    un instante despues se coloca dentro
    de la ventana, no es algo grave pero
    no es muy bonito que digamos, hay
    alguna forma de solucionarlo?

    Lamentablemente no. Esto de ejecutar aplicaciones en un rectángulo es algo que no esta muy bien pulido, y no se puede hacer con todas las aplicaciones. Para “tapar” esto, algunos traen la aplicación madre al frente de todo, luego ponen nuevamente el nivel normal. De este modo la aplicación que es ejecutada queda detrás y no se “ve” cuando la carga.

    Y por ultimo, si por ejemplo hago una
    aplicacion en Visual Basic y necesito
    que interactue con la aplicacion hecha
    en NeoBook, como se haria esto, por
    ejemplo para pasarle una variable o
    mas variables o para que ejecute
    acciones o talvez comandos nativos de
    NeoBook?

    Pues eso es también algo que piden muchos neobookeros que se pueda hacer. Lamentablemente no se puede comunicar “directamente” pero algunos solucionan esto escribiendo en archivos y leyendo desde la aplicación deseada.

    Una buena opción si ambas aplicaciones estan realizadas con neobook es HpwRemote

    Saludos 😉

  17. Gracias, eso resuelve algunas dudas y da algunas ideas de solucion, tambien en el transcurso de lo que estoy usando hay algunas cosas que no tengo muy claras, por ejemplo

    Por ejemplo cuando usamos Funciones:

    He notado que tienes disponibles para usar 3 lenguajes distintos, el de NeoBook, VBScript y JScript, bueno dentro de ese tema tengo algunas dudas, he visto y me es claro por ejemplo como pasar variables al codigo dentro de una funcion, pero mi pregunta es, como puedo obtener el resultado de la operacion que se realice ahi, por ejemplo su programo una SUMA y deseo que me de el resultado, pues se como pasarle las variables, pero, luego como recupero el valor del resultado de la operacion para que este disponible en algun otro punto del programa de NeoBook?

    Me da la impresion de que las funciones solo estuvieran pensadas para ejecutar acciones sin esperar algun resultado devuelto, solo ejecutar.

    Otra cosa antes de que me olvide, intente usar todos los comandos posibles tanto nativos como de Plugins que tengo para insertar datos en el registro y ninguno funciona :S solo he podido hacerlo indirectamente ejecutando un programa en VB que hice para que inserte los datos en el registro (NB ejecuta el programa en VB para editar datos en el registro de windows)

    La funcion nativa de NB para leer un valor del registro funciona bien, pero la que es para agregar un valor (RegistryWrite) no funciona apesar de que se ve simple (2 parametros nomas, ruta y valor) es un BUG o me estoy equivocando en alguna forma en su uso?

    Tambien estuve probando por ejemplo, embeber una aplicacion de prueba pequena de un solo archivo .EXE para luego ser extraida por la publicacion de NB pero por aguna razon el comando para ello que estoy usando no funciona, tengo entendido que ExtracFile sirve para extraer los archivos que esten enbebidos destro del programa de NB.

    Haber si nos hechas luz sobre esos puntos, que seguro seran de utilidad no solo para mi sino para muchos que de seguro se encontraran con los mismos problemas.

    Thx

  18. Hola Squadron

    Me da la impresion de que las
    funciones solo estuvieran pensadas
    para ejecutar acciones sin esperar
    algun resultado devuelto, solo
    ejecutar.

    Pues en eso te equivocas, puedes ver como las utilizo en el ejemplo http://www.neobookeros.com.ar/?p=268

    La funcion nativa de NB para leer un valor del registro funciona bien, pero la que es para agregar un valor (RegistryWrite) no funciona apesar de que se ve simple (2 parametros nomas, ruta y valor) es un BUG o me estoy equivocando en alguna forma en su uso?

    Andan perfectamente puedes ver como las utilizo en el ejemplo http://www.neobookeros.com.ar/?p=33. Recuerda que si es vista o win 7 deberás tener permisos de administrador.

    Tambien estuve probando por ejemplo,
    embeber una aplicacion de prueba
    pequena de un solo archivo .EXE para
    luego ser extraida por la publicacion
    de NB pero por aguna razon el comando
    para ello que estoy usando no
    funciona, tengo entendido que
    ExtracFile sirve para extraer los
    archivos que esten enbebidos destro
    del programa de NB.

    También puedes ver el ejemplo en http://www.neobookeros.com.ar/?p=40.

    Saludos

  19. Okis, gracias, bueno revice el codigo de la funcion del primer ejemplo que funciona, es mas o menos lo mismo que se ve en los codigos de ejemplos con funciones que hay en NB por defecto, y pos sigue mi duda, por ejemplo ahi veo que hay 2 variables que son [%1] y [%2], hasta donde entiendo esas se usan para pasar hasta nueve valores a una funcion, mi pregunta seria, que es lo que le dice a NB que una de las variables que estas definiendo sera la que recoja la informacion y tambien como asocias la variable de resultado dentro del codigo con la variable que defines como [%(algo)] ? esa es la parte donde me pierdo :(

    En cuanto a la segunda pregunta sobre lo de manipulacion del registro revice mejor y parece que me estaba equivocando en el paremetro, estaba juntando los valores de Clave y Seccion como uno solo y creo quepor eso no funcionaba, luego cuando tenga mas tiempo lo corregire haber si ya funciona bien.

    En el caso de embeber una aplicacion ya me funciono, thx.

  20. Hola Squadron pues eso se define como parámetro, se encuentran en la parte de abajo del editor de funciones.

    Al llamar por ej
    Call “EsRemovible” “[ExeDrive]” “[ExeDrive_IsRemovible]”

    Y luego en la funcion por ej de VbScript.
    publication.nbSetVar “[%2]”, strReturn

    Con eso se guarda el contenido de strReturn en [%2] (en este caso [ExeDrive_IsRemovible]).

    Espero que se entienda.

    Saludos

  21. A ya estoy captandolo, io defino X variables que por defecto son para mandar los valores pero que tambien se pueden usar para recibirlos, solo que para hacer que se reciba tendria que asociar la variable que quiero que reciba de esta forma:

    publication.nbSetVar “[%2]“,

    ya entendi, segun dice la documentacion se puede especificar hasta 9 valores para mandar como limite (o trabajar), se puede usar ese metodo para recibir mas de una veriable de vuelta no? me imagino que si mientras el total de variables sea como maximo 9

    Thx.

  22. Por cierto, en NB se pueden hacer aplicaciones que usen Sockets para comunicarse en tiempo real ???

    O talvez alguna forma de usar por ejemplo wl winsock talvez valiendose de VBScript ?

  23. Por cierto, en NB se pueden hacer
    aplicaciones que usen Sockets para
    comunicarse en tiempo real ???

    Hola Squadron hasta ahora no he necesitado hacer uso de lo que dices, pero creo que el único que realiza algo parecido es el plugin tmudp de techmedia.

    Saludos

  24. Okis, lo revisare, se me ocurrio saber si era posible haycer una aplicacion en NB que sea similar por ejemplo al MSN Messenger, para algo asi es basico usar Sockets o para juegos online en tiempo real.

  25. Revice el PlugIn, si sirve para comunicacion por sockets en tiempo real, solo que es por UDP, eso es eficiente pero en LAN, no mucho en WAN me parece pero igual se podria intentar, aun asi no es lo ideal, preguntare a San Google haber si sabe de algun PlugIn que sirva para WAN, por TCP con las mismas caracteristicas de ese.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *