ayuda...programacion en div.....

Started by oskarg, November 06, 2016, 11:52:10 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oskarg

Hola..me he quedado atascado en este algoritmo...se que se puede hacer de mil maneras diferentes y mas eficiente,mas como esta montando el programa que tengo necesito que haga esto tal cual expreso....
Llamo al proceso1 entonces si pulso la tecla a_ llamo al proceso2... tanto proceso1 como proceso2 siempre se estan ejecutando.......dicho esto debe funcionar del siguiente modo: llamo al proceso1 si pulso la tecla _a  llama al proceso2 entonces si pulso tecla up_ la variable2 deberia de incrementar tantas veces como haya pulsado _up ...1..2.3.4...pero lo que sucede es que se incrementa de esta forma 2.4..8.10.. Pues al parecer me modifica el valor2 segun las llamadas que hago al proceso2 no en funcion de cuantas veces he pulsado en _up
/*
* teclado.PRG by o
* (c) 2016 o
*/

PROGRAM teclado;
global
valor=0;
valor2=0;
//pa=0;
//ps=0;
BEGIN

write_int(0, 30, 24, 4, OFFSET valor); // A variable is displayed.
write_int(0, 40, 24, 4, OFFSET valor2); // A variable is displayed.

proceso1();
proceso2();
loop

frame;
end
END



process proceso2()
private pa;

BEGIn
loop
if (key(_up)==1)
if (pa!=1)
valor2=valor2+1;///aqui deberia dar 1..2..3..pero da 2..4.8..10...
pa=1;
end

else
pa=0;

end
frame;
end
END






process proceso1()
private pa;

BEGIn
loop
if (key(_a)==1)
if (pa!=1)
valor=valor+1;
pa=1;
end
proceso2();

else
pa=0;

end






frame;
end
END






SplinterGU

claro, tiene sentido... porque vas creando proceso2() desde proceso1() cada vez que pulsas _a... entonces tenes un monton de proceso2 incrementando valor2
Download Lastest BennuGD Release: http://www.bennugd.org/node/2