home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
pocketbk
/
utilsf
/
login
/
bye.opl
< prev
next >
Wrap
Text File
|
1995-03-14
|
3KB
|
181 lines
rem App LOGOFF
rem type 0
rem path "\opd"
rem ext "odb"
rem icon "\opd\bye.pic"
rem enda
PROC bye:
REM BYE
REM 12/16/89 23:20 pour LZ
REM MODIF 01/01/90 20:56
REM 06/13/92 13:22 series III
REM LOGOUT AVEC COMPTABILISATION DU TEMPS
LOCAL T$(15),N%,X%,Y%,Z%,EXIST%,DT$(30),Z$(1),H$(8),H,M,S,s1&,s2&,secnow&,LIMIT%,wk,slimit
LOCAL ST,X,TC
LOCAL HH,MM,SS
global fj&,fm&,fa&,fh&,fn&,fs&
local id%
local mapid%
local w1%
LIMIT%=32
loadm "\opo\timelib.opo"
IF NOT EXIST("LOGIN")
CREATE "LOGIN",A,DATE1$,DATE2$,N%,TEMPS
CREATE "AUDIT",B,DATE1$,DATE2$,N%,TEMPS
FIRST
use a
A.DATE1$=datim$
A.DATE2$=datim$
A.N%=0
A.TEMPS=0
append
first
update
PRINT "New File"
CLOSE
ELSE
OPEN "LOGIN",A,DATE1$,DATE2$,N%,TEMPS
IF EXIST ("AUDIT")
OPEN "AUDIT",B,DATE1$,DATE2$,N%,TEMPS
ELSE
CREATE "AUDIT",B,DATE1$,DATE2$,N%,TEMPS
ENDIF
ENDIF
FIRST
DT$=A.DATE1$
H$=RIGHT$(DT$,8)
H=VAL(LEFT$(H$,2)) :M=VAL(MID$(H$,4,2)) :S=VAL(RIGHT$(H$,2))
HH=HOUR :MM=MINUTE :SS=SECOND
ST=HMSOP:(H,M,S,HH,MM,SS)
CLS
print "LOGOFF: End of session... "
print " ";datim$
id%=gCREATE(60,30,110,50,1)
gborder $203
gAT 10,10
gPRINT "Time for session:"
gAT 10,20
gPRINT HRS$:(ST)
A.TEMPS=A.TEMPS+ST
TC=A.TEMPS
t$=hrs$:(tc)
gAT 10,30
gPRINT "Cumulative time :"
gAT 10,40
gPRINT T$
PAUSE -20*9
key
gclose id%
OFF
cls
gCLS
print "LOGON: Successful"
print "LOGON: on "+datim$
secnow&=datetosecs(year,month,day,hour,minute,second)
s1&=nextd&:(int(5),int(17),int(0),int(0))-86400*7
s2&=nextd&:(int(7),int(19),int(0),int(0))
wk=week(day,month,year)+(jour:=7) :slimit=19
if weekend: and wk <= slimit
print "**Weekend :";left$(hrs$:(s2&-datetosecs(year,month,day,hour,minute,second)*1.),9);" ** [";slimit-wk;"]"
endif
id%=gCREATE(60,30,110,50,1)
guse id%
gBORDER $203
gAT 10,10
gPRINT "Last session on:"
gAT 10,20
gPRINT left$(dt$,15)
gAT 10,30
gPRINT " ";RIGHT$(DT$,8)
gAT 10,40
gPRINT "Session #";a.n%
at 1,9
print "<ENTER>"
do
giprint "**Enter to continue**"
until get=13
cls
rem print "LOGON: Start of session. "
rem print " ";datim$
gclose id%
gborder $204
gstyle 1+8+16
gat 19,23
gprint " Welcome to Series 3"
gstyle 0
gAT 18,70
gprint " (Please press a key to start session )"
rem w1%=gcreate (82,30,75,30,1)
rem mapid%=gloadbit("logo.pic")
rem guse w1%
rem gcopy mapid%,0,0,75,29,3
rem gclose mapid%
get
USE A
a.date2$=a.date1$
a.date1$=datim$
a.n%=a.n%+1
UPDATE
USE B
if count>=limit%
first
erase
endif
b.date2$=a.date2$
b.date1$=a.date1$
b.n%=a.n%
b.temps=st
append
unloadm "\opo\timelib.opo"
gcls
cls
RETURN A.N%-1
endp
proc jour:
return dow(day,month,year)
endp
proc nextd&:(d&,h&,m&,s&)
local x&,fs&,d1&,d2&
if d&<jour:
d2&=d&+7
else
d2&=d&
endif
d1&=(d2&-dow(day,month,year))*86400
return datetosecs(year,month,day,0,0,0)+d1&+h&*3600+m&*3600+s&
endp
proc weekend:
if jour:=5 and hour>=17
return -1
elseif jour: =6
return -1
elseif jour:=7 and hour<19
return -1
else
return 0
endif
endp