home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
CLIPPER
/
SCRNUZ
/
TEST.PRG
< prev
Wrap
Text File
|
1991-12-13
|
5KB
|
197 lines
*.............................................................................
*
* Program Name: TEST.PRG Copyright: EDON Corporation
* Date Created: 03/19/91 Language: Clipper S'87
* Time Created: 13:46:31 Author: Ed Phillips
* Desc:
*.............................................................................
dnarrow = 24
uparrow = 5
pgdn = 3
esc = 27
ctrl_home = 29
ctrl_end = 23
ex_flg = .f.
ok = .t.
c_norm = 'w+/b'
c_field = 'W+/b,W+/r'
c_say = 'N/W'
c_error = 'W+/R'
ReadExit(.t.)
Opendata('Screen,n5nn;Scrngets,n5nn;Genmeet,n5nn','Screen;Scrngets;Genmeet')
SELECT Scrngets
INDEX ON Scrn_name TO Temp
SET INDEX TO Temp
SELECT Genmeet
Automem('PUB')
PUBLIC all, sub
all = .f.
sub = ' '
setcolor(c_norm)
clear
Automem('STUP')
PopScreen('NEWMEET')
Says('NEWMEET')
ok = Gets('NEWMEET')
IF ok
Automem('REPL')
ENDIF && IF ok
CLOSE ALL
RETURN
*----------------------------
* Author: Ed Phillips
* Date Created: 03/19/91
* Time Created: 14:12:05
*----------------------------
FUNCTION Gets
PARAMETERS scrname
PRIVATE ret_val, oldarea, gtop, gbottom, work, oldcolor
ret_val = .t.
oldarea = Select()
SELECT Scrngets
SEEK scrname
IF !Found()
ret_val = .f.
ENDIF && IF !Found()
gtop = Recno()
oldcolor = Setcolor(c_error)
DO WHILE scrname = Trim(Scrn_name) .AND. ! Eof()
var = Trim(G_var)
pic = Trim(G_pic)
*--------------
* Issue one SAY
*--------------
DO CASE
CASE Empty(pic)
@ G_row, G_col SAY M->&var.
OTHERWISE
@ G_row, G_col SAY M->&var. PICT pic
ENDCASE && DO CASE
SKIP
ENDDO && DO WHILE scrname = Trim(Scrn_name) .AND. ! Eof()
SKIP -1
gbottom = Recno()
GO gtop
SET KEY ctrl_end TO CtrlEnd
SET KEY ctrl_home TO CtrlHome
Setcolor(c_field)
DO WHILE scrname = Trim(Scrn_name) .AND. ! Eof()
var = Trim(G_var)
pic = Trim(G_pic)
val = Trim(G_valid)
*--------------
* Issue one GET
*--------------
DO CASE
CASE Empty(pic)
@ G_row, G_col GET M->&var.
OTHERWISE
@ G_row, G_col GET M->&var. PICT pic
ENDCASE && DO CASE
READ
IF !Empty(val)
IF ! &val. && validation failed
LOOP
ENDIF && IF ! &val.
ENDIF && IF !Empty(val)
DO CASE
CASE Lastkey() = dnarrow
NextGet()
CASE Lastkey() = uparrow && prev field
PrevGet()
CASE Lastkey() = pgdn
EXIT
CASE Lastkey() = esc
ret_val = .f.
EXIT
OTHERWISE
SKIP
ENDCASE && DO CASE
ENDDO
Setcolor(oldcolor)
SELECT (oldarea)
SET KEY ctrl_end TO
SET KEY ctrl_home TO
RETURN (ret_val)
*----------------------------
* Author: Ed Phillips
* Date Created: 03/19/91
* Time Created: 14:16:52
*----------------------------
FUNCTION PrevGet
SKIP -1
IF scrname != Trim(Scrn_name)
GO gbottom
ENDIF && IF Scrn_name != scrname
RETURN(.T.)
FUNCTION NextGet
SKIP
IF scrname != Trim(Scrn_name)
GO gtop
ENDIF && IF scrname != Trim(Scrn_name)
RETURN(.T.) && FUNCTION NextGet
FUNCTION Says
PARAMETERS scrname
PRIVATE oldarea, var, pic, oldcolor
oldarea = Select()
oldcolor = Setcolor(c_say)
SELECT Scrngets
SEEK scrname
DO WHILE scrname = Trim(Scrn_name) .AND. ! Eof()
var = Trim(G_var)
pic = Trim(G_pic)
*--------------
* Issue one GET
*--------------
DO CASE
CASE Empty(pic)
@ G_row, G_col SAY M->&var.
OTHERWISE
@ G_row, G_col SAY M->&var. PICT pic
ENDCASE && DO CASE
SKIP
ENDDO && DO WHILE scrname = Trim(Scrn_name) .AND. ! Eof()
SELECT (oldarea)
Setcolor(oldcolor)
RETURN .t.
PROCEDURE CtrlEnd
GO gbottom
KEYBOARD Chr(uparrow)+Chr(dnarrow)
RETURN && PROCEDURE CtrlEnd
PROCEDURE CtrlHome
GO gtop
KEYBOARD Chr(uparrow)+Chr(dnarrow)
RETURN && PROCEDURE CtrlEnd
* EOF: TEST.PRG