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)
Capturar Tecla Con Gambas En Modo Consola
Objetivo: Capturar Tecla Con Gambas En Modo Consola
última edición por Fernandito el Sabado, 02 Julio 2011, 07:22; editado 1 vez
última edición por Fernandito el Sabado, 02 Julio 2011, 07:22; editado 1 vez
Objetivo: 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...
Es lo que se me occurre a primera vista...
Objetivo: Re: Capturar Tecla Con Gambas En Modo Consola
Mira, he estado buscando:
la funcion en c seria:
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
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 );
}
#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
Objetivo: Re: Capturar Tecla Con Gambas En Modo Consola
última edición por razaAztk el Domingo, 03 Julio 2011, 02:06; editado 1 vez
Ve el código de ejemplo que se encuentra en http://gambasdoc.org/help/comp/gb/file/in?view
EDITO:
Disculpa, la respuesta anterior no te servirá. Tal vez puede que te sirva algo como:
Saludos!
' 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
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:
Saludos!
última edición por razaAztk el Domingo, 03 Julio 2011, 02:06; editado 1 vez
Objetivo: Re: Capturar Tecla Con Gambas En Modo Consola
última edición por Fernandito el Lunes, 04 Julio 2011, 17:22; editado 1 vez
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
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
Objetivo: 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
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
Objetivo: 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!
Allí el programador usa una orden externa (xset q) para lograr lo que buscas.
Saludos!
Objetivo: 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.
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.
Página 1 de 1
No puede crear mensajesNo 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
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4582s (PHP: -80% SQL: 180%)
Consultas SQL: 48 - Debug off - GZIP Activado