home *** CD-ROM | disk | FTP | other *** search
-
- REM $option k100
- REM $option !gy
-
- DEFINT a-z
-
- LIBRARY "GEMAES","GEMDOS"
-
- REM $include gemaes.bh
-
- FUNCTION GetWholeEnvironment$
- STATIC i,res$,a$
- res$=""
- i=1
- DO
- a$=ENVIRON$(i)
- IF a$="" THEN EXIT LOOP
- res$=res$+a$+CHR$(0)
- INCR i
- LOOP
- GetWholeEnvironment$=res$
- END FUNCTION
-
- FUNCTION killpath$ (path$)
- STATIC i,ch
- i=LEN(path$)
- DO
- ch=ASC(MID$(path$,i,1))
- IF ch="\"% OR ch=":"% THEN EXIT LOOP
- IF i=1 THEN EXIT LOOP
- DECR i
- LOOP
- killpath$=LEFT$(path$,i)
- END FUNCTION
-
- FUNCTION Execute(nname$,commline$)
- SHARED menutree&
- STATIC junk&,junk,curhandle,i,curtop
- STATIC dummypath1$,dummypath2$,dummydrive,pe,mxprogs
- STATIC WindX,WindY,WindW,WindH,cur_top
-
- mxprogs=PEEKW(PEEKL(GB+4)+ap_count)
- pe=0
- IF mxprogs=-1 THEN pe=100
-
- junk=wind_get (0,WF_WORKXYWH,WindX,WindY,WindW,WindH)
- junk=wind_get (0,WF_TOP,cur_top,0,0,0)
-
- dummypath1$=killpath$ (nname$)
- dummypath2$=CURDIR$
- dummydrive=dgetdrv
-
- junk=dsetdrv (ASC(MID$(dummypath1$,1,1))-ASC("A"))
- CHDIR dummypath1$
-
- junk&=pexec&(pe,nname$,commline$,GetWholeEnvironment$)
- execute=junk&
-
- junk=dsetdrv (dummydrive)
- CHDIR dummypath2$
-
- junk=wind_set (0,WF_TOP,cur_top,0,0,0)
- form_dial FMD_FINISH,0,0,0,0,WindX,WindY,WindW,WindH
-
- END FUNCTION
-
- a$="D:\EVEREST\EVEREST.PRG"
- er=form_alert (1,"[1][ Press OK to run... ][ OK ]")
- stat=execute (a$,"")
- er=form_alert (1,"[1][ Program ended | Returned "+STR$(stat)+" ][ OK ]")
- STOP -1