Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Capturar Tecla Con Gambas En Modo Consola
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Capturar Tecla Con Gambas En Modo Consola 
 
Hola a todos.
  ' Es la primera vez que escribo en este foro pero ya llevo algun tiempo programando en Gambas2
Bueno. mi cuestion es que no se como hacer para que en una ejecucion EN MODO CONSOLA (osea sin interfaz grafica, todo en texto) en gambas puedo saber si se esta presionando alguna determinada tecla.
Lo que estoy haciendo es un programa en modo texto para hacer una secuencia de luces por puerto paralelo y lo que necesito es que es el medio de esa ejecucion pueda cancelarla con alguna tecla.
Ya probe con Key pero no funciona sin formularios. INPUT no me sirve porque para ingresar algo se frena el programa. Y Asc y Ascii? no son lo que busco.
Si Activo los componentes graficos (gb.gui) igual no funciona porque necesita algun formulario y eso no me sirve.
Lo que tengo en mente es algo asi por ejemplo:

PUBLIC SUB Main()
DO
IF (se presiona la tecla Enter) THEN
PRINT "Se ha presionado Enter"
ENDIF
WAIT 1
LOOP

Pero no se como completar la parte donde dice (se presiona la tecla Enter)
Ya busque en google, en gambasdoc.org, en esta pagina y a los profesores de mi escuela pero ninguno tiene la respuesta.

Muchas Gracias por leer y si saben algo por favor respondan  
Un abrazo

Version: gambas 2.19
SO: ubuntu 10.04 (el programa es para un Debian Squeeze sin interfaz grafica)
 



 
última edición por Fernandito el Sabado, 02 Julio 2011, 07:22; editado 1 vez 
Fernandito - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Podias implementar una pequeña funcion en  C, que se encargara de leer el teclado y devolver si has pulsado "enter"...

Es lo que se me occurre a primera vista...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Mira, he estado buscando:


la funcion en c seria:

#include <stdio.h>
#include <time.h>
#include <term.h>
#include <unistd.h>

static int CaracterPendiente = -1;

 int leertecla() {
        char Caracter;
    
        if( CaracterPendiente != -1 ) {
                Caracter = CaracterPendiente;
                CaracterPendiente = -1;
                return( Caracter );
        }
        read( 0, &Caracter, 1 );
        return( Caracter );
}



Y para compilarlo como libreria dinamica, sigue este post:
http://jsbsan.wordpress.com/2010/11...-c-en-gnulinux/

En ese mismo post, hay una explicacion de Tururu, de como usarla en un pequeño programa en gambas.


Espero que te funcione asi..

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Ve el código de ejemplo que se encuentra en http://gambasdoc.org/help/comp/gb/file/in?view

' gambas module file

PUBLIC SUB Main()
  DIM inputLine AS String
  ' Loop until the end of the standard input file stream
  WHILE inputLine <> "quit" 'Eof(File.In) '<------------ CAMBIADA CONDICIÓN DE TERMINACIÓN
    ' Read a line from standard input. This is the same as:
    ' LINE INPUT inputLine
    LINE INPUT #File.In, inputLine
    ' Print to standard output. This is the same as:
    ' PRINT inputLine
    PRINT #File.Out, inputLine
    ' Print to standard error
    PRINT #File.Err, inputLine
  WEND
END
 



EDITO:

Disculpa, la respuesta anterior no te servirá. Tal vez puede que te sirva algo como:

' gambas module file

PUBLIC SUB Main()

  WHILE TRUE
    ' Cualquier otro proceso
    PRINT "hola"
    WAIT 10
  WEND
  
END

PUBLIC SUB Application_Read()
  
  DIM inputLine AS String
  READ #File.In, inputLine, -1
  IF inputLine = "q" THEN QUIT
  
END

 


Saludos!
 



 
última edición por razaAztk el Domingo, 03 Julio 2011, 02:06; editado 1 vez 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Hola a todos
razaAztk: Probe lo que me dijiste (lo segundo) pero no funciono porque cuando quiere leer (READ) file.in el programa para, es como si ubiera un: INPUT inputLine. Pero Muchas gracias por la respuesta, lo voy a modificar y si encuentro la forma les aviso pero si ustedes por casualidad la encuentran antes podrian publicarla por favor

jsbsan: Sinceramente no probe lo tuyo porque principalmente no se nada de C. Segui las instrucciones como dice en el link que me pasaste (http://jsbsan.wordpress.com/2010/11/08/gambas-el-complemento-perfecto-para-c-en-gnulinux/) pero no logro entender como utilizarlo. Perodona mi ignorancia en este codigo   . Ademas no se como funciona tu programa, no se si el resultado es numerico o boleano o que. Pero de todos modos Muchas gracias por responder! si por casualidad encontras la respuesta y la publicaras te agradeceria aun mas!. Aunque lo ideal seria hacerlo pero sin salir de gambas.

Muchas gracias a ambos por ayudar a estudiantes como yo
un abrazo
 



 
última edición por Fernandito el Lunes, 04 Julio 2011, 17:22; editado 1 vez 
Fernandito - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Hola de nuevo

Les escribo para preguntar si conocen alguna forma de comprobar si el bloqueo de mayusculas esta activado o no para el modo consola de gambas y que el programa no espere que el usuario ingrese algun dato, sino que compruebe directamente el estado del bloqueo de mayusculas y siga corriendo.
Entonces mi programa comprueba esto y sigue su marcha.

Muchisimas Gracias por haber leido mi pregunta y si tienen alguna idea les estaria agradecido si me la dijeran.
Un abrazo a todos los programadores y linuxeros
 



 
Fernandito - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Descargate la "Applicazioni" llamada "Led-monitor" de http://www.gambas-it.org/wp/?page_id=21
Allí el programador usa una orden externa (xset q) para lograr lo que buscas.

Saludos!
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Capturar Tecla Con Gambas En Modo Consola 
 
Holaaaa

razaAztk: Probe lo que me dijiste y lo adapte a lo que necesito Y FUNCIONOOO!!! Ademas me da mas de lo que yo queria!! Muchisimas Gracias razaAztk! y muchisimas gracias a jsbsan tambien por darme esa info!  

Despues de septiempre posteo el codigo completo para que vean que es. Por ahora no porque es secreto. jajajaja

Muchisimas Gracias por esto.  
Un abrazo.
 



 
Fernandito - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema Con Programas Modo Consola kosbalt General 1 Domingo, 28 Febrero 2010, 20:32 Ver último mensaje
soplo
No hay nuevos mensajes Gambas En Windows Con Virtualbox En Modo F... jsbsan Videotutoriales 10 Lunes, 26 Septiembre 2011, 19:09 Ver último mensaje
jguardon
No hay nuevos mensajes Como Crear La Conexión De GAMBAS 3 Y Mys... eLiO Bases de Datos 5 Miercoles, 21 Agosto 2013, 10:48 Ver último mensaje
jsbsan
No hay nuevos mensajes ComboBox. Valores Desde Modo Diseño Y Des... Shell General 0 Martes, 16 Junio 2020, 12:13 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron