Re: Arrow keys and 4GL
Posted in 1991
Alberto Daniel Teszkiewicz writes: > We need to recognize in a 4GL program which arrow key (left, right, > up or down) the user pushed. > Do you know some way to do it? > Thanks. > > --- > Lista Argentina de Usuarios de > Informix > Alberto Daniel Teszkiewicz > informix@dia.edu.ar How 'bout the code below ? Ascii values for chars up to tilde (126), or DEL (127) depending on your stty settings, then you should get something like this for the other keys: up 2000 down 2001 left 2002 right 2003 pg-up 2005 pg-dn 2006 bs 2007 f1 3000 ... f8 3007 Any improvements & stuff, please let me know. -- Cheers - Tony. ____________________________________________________________________________ Tony Heskett: theskett@lhr-sys.ssf-sys.dhl.com | Vox: (+44) 81 747 8330 DHL Systems : Kings House, Great West Road, TW8 9HS | Fax: (+44) 81 747 0875 ____________________________________________________________________________ # main.4gl MAIN DEFINE lname CHAR(40), fname CHAR(40), retval INTEGER OPTIONS INPUT WRAP OPEN FORM emp FROM "employee" DISPLAY FORM emp WHILE TRUE INPUT BY NAME lname, fname AFTER FIELD lname CALL get_key() RETURNING retval DISPLAY BY NAME retval AFTER FIELD fname CALL get_key() RETURNING retval DISPLAY BY NAME retval END INPUT END WHILE END MAIN ____________________________________________________________________________ { employee.per } DATABASE FORMONLY SCREEN { lname [f1 ] fname [f] retval [f3 ] } END ATTRIBUTES f1 = FORMONLY.lname TYPE CHAR, autonext; f = FORMONLY.fname TYPE CHAR, autonext; f3 = FORMONLY.retval TYPE INTEGER, autonext; END ____________________________________________________________________________ /* get_key.c */ extern short eflastkey; int get_key(nargs) int nargs; { retint(eflastkey); return 1; } ____________________________________________________________________________ # makefile go: ; c4gl main.4gl get_key.c -o go form4gl employee.per ____________________________________________________________________________