home *** CD-ROM | disk | FTP | other *** search
- CLS(99,99,24,79)
- SET TALK OFF
- SET SCOR OFF
- SET STAT OFF
- IF ISCO()
- norm='gr/n,w+/rb,,,r+/b'
- ELSE
- norm='gr/n,i,,,gr+'
- ENDI
- SET COLO TO &norm
- @1,0 TO 3,79
- @2,1 SAY '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'
- DO top WITH 'Clipper Developement Program Ver 1.0 j&b'
- IF FILE('clrun.mem')
- REST FROM clrun ADDI
- ELSE
- sysname='PROGRAM '
- DO prompt WITH 'Enter the System Name (Main program name)',sysname,'C'
- sysdate=' '
- sysname=TRIM(sysname)
- SAVE TO clrun
- ENDI
- CLS(4,99,24,79)
- SET COLO TO r*/gr*
- @24,0 SAY ' WAIT --> Finding Files <-- '
- SET COLO TO &norm
- CALL cursoff
- RUN dir *.prg >clrun1.$$$
- IF FILE('clrun.dbf')
- USE clrun
- ZAP
- ELSE
- CREA clrun2
- APPE BLAN
- REPL field_name WITH 'FILE',field_type WITH 'C',field_len WITH 45,field_dec WITH 0
- USE
- CREA clrun FROM clrun2
- ERAS clrun2.dbf
- ENDI
- APPE FROM clrun1.$$$ SDF
- ERAS clrun1.$$$
- GO 5
- DO wait WITH 'Compiling'
- @7,0 SAY 'Compiling to object code: '+LEFT(sysname,8)+' program file ->'
- SET COLO TO g+
- DO WHIL !EOF()
- IF SUBS(file,30,2)+SUBS(file,24,5)+SUBS(file,39,1)+SUBS(file,34,5)>sysdate.AND.!'bytes free'$file
- CLS(8,99,12,40)
- @7,54 SAY LEFT(file,8)
- @8,0
- f='d:clipper '+LEFT(file,8)+' -m >junk'
- RUN &f
- ENDI
- SKIP
- ENDD
- CLS(7,99,24,79)
- DO top WITH 'Clipper Developement System terminated normally'
- @10,40-(40+LEN(sysname))/2 SAY sysname+' compilation complete. Have a nice day.'
- ERAS junk
- d=DTOC(DATE())
- d=SUBS(d,7,2)+SUBS(d,1,2)+'-'+SUBS(d,4,2)
- IF SUBS(d,3,1)='0'
- d=STUF(d,3,1,' ')
- ENDI
- t=AMPM(TIME())
- t=SUBS(t,10,1)+SUBS(t,1,5)
- IF SUBS(t,2,1)='0'
- t=STUF(t,2,1,' ')
- ENDI
- sysdate=d+t
- SAVE TO clrun ALL LIKE sys*
- CALL curson
- QUIT
-
- FUNCTION cls
- PARA frow,fcol,lrow,lcol
- CALL scroll WITH 'C'+CHR(frow)+CHR(fcol)+CHR(lrow)+CHR(lcol)+CHR(7)
- RETURN 0
- PROC top
- PARA mess
- SET COLO TO W+
- @2,(79-LEN(mess))/2 SAY ' '+mess+' '
- SET COLO TO &norm
- @4,0 SAY ''
- RETU
- PROC prompt
- PARA mess,var,type
- PUBL k
- r=(79-LEN(mess))/2
- q=LEN(var)
- s=(79-q)/2
- t=MIN(r,s)
- CLS(4,99,7,79)
- @4,t-2 TO 7,80-t DOUB
- @5,r SAY mess
- DO CASE
- CASE type='N'
- var=VAL(var)
- @6,s GET var PICT '@k'
- CASE type='D'
- var=CTOD(var)
- @6,s GET var PICT '@k'
- OTHE
- pic=IIF(ASC(type)<91,'@k'+REPL('!',50),'@k')
- @6,s GET var PICT pic
- ENDC
- r=0
- CALL curson
- READ
- CALL cursoff
- r=IIF(r=0,LASTKEY(),r)
- k=IIF(r=18,.f.,.t.)
- RETU
- FUNCTION LEFT
- PARAMETERS cl_string, cl_len
- RETURN SUBSTR(cl_string, 1, cl_len)
- FUNCTION STUF
- PARAMETERS cl_string, cl_start, cl_len, cl_replace
- RETURN SUBSTR(cl_string,1,cl_start-1) + cl_replace +SUBSTR(cl_string,cl_start+cl_len)
- FUNCTION AMPM
- PARAMETERS cl_time
- RETURN IF( VAL(cl_time)<12, cl_time + " am",;
- IF( VAL(cl_time)=12, cl_time + " pm",;
- STR(VAL(cl_time)-12,2) + SUBSTR(cl_time,3) + " pm" ) )
- PROC wait
- PARA r1
- r2='WAIT '+r1
- l1=LEN(r2)
- r1=SPAC(80)
- r1=STUF(r1,(40-l1/2),l1,r2)
- IF ISCO()
- SET COLO TO r*/gr*
- ELSE
- SET COLO TO i*
- ENDI
- @24,0 SAY LEFT(r1,80)
- SET COLO TO &norm
- RETU