60 lines
2.0 KiB
Plaintext
Executable File
60 lines
2.0 KiB
Plaintext
Executable File
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
|