Escribir morse con Keypressed
Publicado por Jeremy (1 intervención) el 01/10/2019 15:25:11
Buenas, Necesito ayuda con el siguiente programa, Por favor.
Su objetivo seria escribir morse, (Ya sea un punto o una coma de acuerdo a una variable llamada "Key_duration")
Pero sucede lo siguiente, Tengo una duda respecto al comando Keypressed.
La idea es que cuando se presione una tecla, El programa añada a una variable un valor que incrementará cada 100ms mientras la tecla esté presionada, Y que al soltarla; este deje de sumar a ese valor y lo muestre en pantalla.
Eso es un ejemplo corto de lo que realmente no funciona.
Y por lo que veo, El valor keypressed no se vuelve falso al levantar la tecla, por lo tanto el archivo se cuelga.
Su objetivo seria escribir morse, (Ya sea un punto o una coma de acuerdo a una variable llamada "Key_duration")
Pero sucede lo siguiente, Tengo una duda respecto al comando Keypressed.
La idea es que cuando se presione una tecla, El programa añada a una variable un valor que incrementará cada 100ms mientras la tecla esté presionada, Y que al soltarla; este deje de sumar a ese valor y lo muestre en pantalla.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
repeat
key_duration:= 0; {Es de tipo Real}
repeat
clrscr;
writeln('Presiona cualquier tecla para iniciar');
until keypressed;
while Keypressed=true do begin
key_duration:= Key_duration+50; {Esto es una variable que de acuerdo a su valor
delay(100); escribiria un punto o una coma. Pero es mas adelante}
end;
writeln(key_duration);
writeln('salir?');
readln(salir);
until salir=1;
Eso es un ejemplo corto de lo que realmente no funciona.
Y por lo que veo, El valor keypressed no se vuelve falso al levantar la tecla, por lo tanto el archivo se cuelga.
Valora esta pregunta


0