home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / HISOFT.LZH / HISOFT_A.MSA / HGT / EXEC.BAS < prev    next >
BASIC Source File  |  1993-07-16  |  1KB  |  49 lines

  1. 'Execute routines for the Toolbox
  2.  
  3. FUNCTION GetWholeEnvironment$
  4. STATIC i,res$,a$
  5. res$=""
  6. i=1
  7. DO
  8.     a$=ENVIRON$(i)
  9.     IF a$="" THEN EXIT LOOP
  10.     res$=res$+a$+CHR$(0)
  11.     INCR i
  12. LOOP
  13. GetWholeEnvironment$=res$
  14. END FUNCTION
  15.  
  16. SUB Execute(nname$,commline$)
  17. SHARED menutree&,Windx,Windy,Windw,Windh,HowManyWindows,woHandle(1)
  18. SHARED desktree&
  19. STATIC junk&,junk,wind_temp(2),curhandle,i,curtop
  20.  
  21.     junk=wind_get(0,WF_TOP,curtop,0,0,0)
  22.     DIM windtemp(HowmanyWindows,4)
  23.     FOR i=1 TO HowManyWindows
  24.         curhandle=woHandle(i)
  25.         junk=wind_get(curhandle,WF_CURRXYWH,windtemp(i,1),windtemp(i,2),windtemp(i,3),windtemp(i,4)) ' current size
  26.         junk=wind_close(woHandle(i))
  27.     NEXT i
  28.  
  29.  
  30. IF menutree& THEN menu_bar menutree&,0
  31.  
  32. junk=wind_update(END_UPDATE)
  33.  
  34. junk&=pexec&(0,nname$,commline$,GetWholeEnvironment$)
  35. junk=wind_set(0,WF_NEWDESK,PEEKW(VARPTR(desktree&)),PEEKW(VARPTR(desktree&)+2),0,0)
  36.  
  37.  
  38. IF menutree& THEN menu_bar menutree&,1
  39. FOR i=1 TO HowManyWindows
  40.     junk=wind_open(woHandle(i),windtemp(i,1),windtemp(i,2),windtemp(i,3),windtemp(i,4)) ' current size
  41. NEXT i
  42. ERASE windtemp
  43. junk=wind_set(0,WF_TOP,curtop,0,0,0)
  44. form_dial FMD_FINISH,0,0,0,0,Windx,Windy,Windw,Windh
  45.  
  46. junk=wind_update(BEG_UPDATE)
  47.  
  48. END SUB
  49.