Hola Andrade , creas un new project y en el codigo CLW le escribes este, esta probado y creo funciona como tu quieres. puedes copiar y pegar si quieres.
la linea Calculadora WINDOW ......,DOUBLE,AUTO es una sola todo en la misma linea aunque aqui como no cabe aparece cortada en 2 lineas.
Lo que aqui es muy didactico es ver el funcionamiento del bucle ACCEPT
Espero te sirva para tus propositos.
Cualquier duda me escribes.
Saludos Joan.
PROGRAM
INCLUDE('EQUATES.CLW')
INCLUDE('KEYCODES.CLW')
MAP.
Numero REAL
NuevoNumero BYTE
Digito BYTE
Calculadora WINDOW('Calculadora'),AT(80,7,106,113),SYSTEM,GRAY,DOUBLE,AUTO
BUTTON('&0'),AT(45,93,14,12),USE(?Cero),FONT('Arial',12,,),KEY(KeyPad0)
BUTTON('&1'),AT(25,39,14,12),USE(?Uno),FONT('Arial',12,,),KEY(KeyPad1)
BUTTON('&2'),AT(45,39,14,12),USE(?Dos),FONT('Arial',12,,),KEY(KeyPad2)
BUTTON('&3'),AT(65,39,14,12),USE(?Tres),FONT('Arial',12,,),KEY(KeyPad3)
BUTTON('&4'),AT(25,57,14,12),USE(?Cuatro),FONT('Arial',12,,),KEY(KeyPad4)
BUTTON('&5'),AT(45,57,14,12),USE(?cinco),FONT('Arial',12,,),KEY(KeyPad5)
BUTTON('&6'),AT(65,57,14,12),USE(?Seis),FONT('Arial',12,,),KEY(KeyPad6)
BUTTON('&7'),AT(25,75,14,12),USE(?Siete),FONT('Arial',12,,),KEY(KeyPad7)
BUTTON('&8'),AT(45,75,14,12),USE(?Ocho),FONT('Arial',12,,),KEY(KeyPad8)
BUTTON('&9'),AT(65,75,14,12),USE(?Nueve),FONT('Arial',12,,),KEY(KeyPad9)
BUTTON('CE'),AT(65,93,14,12),USE(?Borra),FONT('Arial',10,,)
BUTTON('+/-'),AT(25,93,14,12),USE(?Signo),FONT('Arial',10,,)
ENTRY(@s20),AT(4,9,97,23),USE(Numero),RIGHT(3),INS
END
CODE
OPEN(Calculadora)
NuevoNumero = True
ACCEPT
DISPLAY
IF ACCEPTED()
CASE ACCEPTED()
OF ?Cero TO ?Nueve
Digito = ACCEPTED() - ?Cero
IF NuevoNumero
Numero = Digito
NuevoNumero = False
ELSE
Numero = Numero * 10 + Digito
END
CYCLE
OF ?Borra
IF NuevoNumero THEN
END
Numero = 0
NuevoNumero = 0
END
CASE ACCEPTED()
OF ?Signo
Numero *= -1
END
SELECT(?Cero)
NuevoNumero = TRUE
END
END
CLOSE(Calculadora)