En este video tutorial explico como crear y usar una funcion externa en gambas3.
Link
Para más información y descargar el código fuente:
http://jsbsan.blogspot.com.es/2016/...s-externas.html
Uso De Funcionex Externas Hechas En C: Inkeys
Objetivo: Uso De Funcionex Externas Hechas En C: Inkeys
última edición por jguardon el Domingo, 29 May 2016, 15:21; editado 2 veces
última edición por jguardon el Domingo, 29 May 2016, 15:21; editado 2 veces
Objetivo: Re: Uso De Funcionex Externas Hechas En C: Inkeys
El compañero del foro Vuott, me ha pasado otro código "más estilo gambas" para hacer imitar el funcionamiento de Inkeys:
Gracias Vuott !!!
Saludos
Library "libc:6"
Public Struct termio
c_iflag As Short
c_oflag As Short
c_cflag As Short
c_lflag As Short
c_line As Byte
c_cc[8] As Byte
End Struct
Private Const STDINFD As Integer = 0
Private Const TCGETA As Integer = 21509
Private Const TCSETA As Integer = 21510
Private Const ICANON As Integer = 2
Private Const ECHO As Integer = 16
' int ioctl (int __fd, unsigned long int __request, ...)
' Perform the I/O control operation specified by REQUEST on FD.
Private Extern ioctl(__fd As Integer, __request As Integer, ter As Termio) As Integer
Public Sub Main()
Dim c As Byte
Dim param_ant As New Termio
Dim params As Termio
Dim fl As File
Print "Presionar una tecla..."
ioctl(STDINFD, TCGETA, param_ant)
params = param_ant
params.c_lflag = params.c_lflag And Not (ICANON Or ECHO)
params.c_cc[4] = 1
ioctl(STDINFD, TCSETA, params)
fl = Open "/proc" &/ CStr(Application.Id) &/ "fd/0"
Read #fl, c
fl.Close
ioctl(STDINFD, TCSETA, param_ant)
Print "Codigo ASCII de la tecla presionada: "; c; " Caracter: "; Chr(c)
End
Public Struct termio
c_iflag As Short
c_oflag As Short
c_cflag As Short
c_lflag As Short
c_line As Byte
c_cc[8] As Byte
End Struct
Private Const STDINFD As Integer = 0
Private Const TCGETA As Integer = 21509
Private Const TCSETA As Integer = 21510
Private Const ICANON As Integer = 2
Private Const ECHO As Integer = 16
' int ioctl (int __fd, unsigned long int __request, ...)
' Perform the I/O control operation specified by REQUEST on FD.
Private Extern ioctl(__fd As Integer, __request As Integer, ter As Termio) As Integer
Public Sub Main()
Dim c As Byte
Dim param_ant As New Termio
Dim params As Termio
Dim fl As File
Print "Presionar una tecla..."
ioctl(STDINFD, TCGETA, param_ant)
params = param_ant
params.c_lflag = params.c_lflag And Not (ICANON Or ECHO)
params.c_cc[4] = 1
ioctl(STDINFD, TCSETA, params)
fl = Open "/proc" &/ CStr(Application.Id) &/ "fd/0"
Read #fl, c
fl.Close
ioctl(STDINFD, TCSETA, param_ant)
Print "Codigo ASCII de la tecla presionada: "; c; " Caracter: "; Chr(c)
End
Gracias Vuott !!!
Saludos
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.2242s (PHP: 2% SQL: 98%)
Consultas SQL: 24 - Debug off - GZIP Activado