tldm-universe/Ardent/UV/APP.PROGS/1114

60 lines
2.0 KiB
Plaintext
Raw Normal View History

2024-09-09 21:51:08 +00:00
subroutine U1114( Resultat, Status, Long )
*******************************************************************************
*
* Saisie d'un caractere quelconque au clavier sans retour-chariot
*
* Module %M% Version %I% Date %H%
*
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
* This is unpublished proprietary source code of Ardent Software Inc.
* The copyright notice above does not evidence any actual or intended
* publication of such source code.
*
*******************************************************************************
*
* Maintenence log - insert most recent change descriptions at top
*
* Date.... GTAR# WHO Description.........................................
* 10/14/98 23801 SAP Change copyrights.
* 08/18/96 18335 MAA Added new code to port 9 to Siemens Nixdorf.
* 01/14/91 7930 JWT Added new Ucode for Siemens/Nixdorf
* 17/07/89 - BHX creation du source
* 10/09/90 - BHX Abandon de PTERM => TTYGET / TTYSET
*
*******************************************************************************
*
$INCLUDE UNIVERSE.INCLUDE TTY
$INCLUDE UNIVERSE.INCLUDE DEF.USERS
*** validiter de la demande
IF (NOT( NUM( Long )) OR Long # 1) THEN Long=1
Status = 0
Resultat = ""
TTYGET tty$ ELSE Status = 1 ; RETURN
SAVEICRNL=CRMODE.ICRNL
CRMODE.ICRNL = 0
TTYSET tty$ ELSE Status = 1 ; RETURN
********
debut: *
********
*** boucle de saisie d'un caractere quelconque de CHAR(0) a CHAR(255)
Resultat = KEYIN()
*** Inversion upcase/downcase
IF CASE.INVERT THEN
IF Resultat >= 'a' AND Resultat <= 'z' THEN
Resultat = CHAR(SEQ(Resultat)-32)
END ELSE
IF Resultat >= 'A' AND Resultat <= 'Z' THEN
Resultat = CHAR(SEQ(Resultat)+32)
END
END
END
*** test ECHO ON/OFF
ResulImp=""
IF(SYSTEM(24))THEN ResulImp=Resultat
*** test du caractere recu
IF Resultat >= CHAR(32) AND Resultat < CHAR(127) THEN PRINT ResulImp:
CRMODE.ICRNL=SAVEICRNL
TTYSET tty$ ELSE Status = 1 ; RETURN
RETURN
END