home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / oplexamp / STARTAPP.OPL < prev    next >
Text File  |  1992-11-24  |  1KB  |  37 lines

  1. PROC startapp:
  2.     local fname$(128),app%,als$(5),pgname$(40),apname$(8),extn$(4)
  3.     local ap%,newfile%,cbyte$(1),pid%,cmdl$(128),ret%
  4.     ap%=1 :newfile%=1
  5.     while 1
  6.         dInit "Start application"
  7.         dChoice ap%,"Application","Database,Word Processor,Program Editor"
  8.         dChoice newfile%,"Open","Existing file,New file"
  9.         if dialog=0 :continue :endif
  10.         vector ap% :dbf,word,prog :endv
  11. dbf::   fname$="\dat\*.dbf" :pgname$="data"
  12.         apname$="Data" :extn$=".DBF" :als$="" :goto d2
  13. word::  fname$="\wrd\*.wrd" :pgname$="word"
  14.         apname$="Word" :extn$=".WRD" :als$="" :goto d2
  15. prog::  fname$="\opl\*.opl" :pgname$="word"
  16.         apname$="Program" :extn$=".OPL" :als$="OROPO"
  17. d2::    dInit "Choose file"
  18.         if newfile%=1
  19.             dFile fname$,"Open:",0
  20.             cbyte$="O"
  21.         else
  22.             dFile fname$,"Create:",1
  23.             cbyte$="C"
  24.         endif
  25.         if dialog=0 :continue :endif
  26.         pgname$="rom::"+pgname$+".app"+chr$(0)
  27.         cmdl$=cbyte$+apname$+chr$(0)+extn$+" "+als$+chr$(0)+fname$+chr$(0)
  28.         ret%=call($0187,addr(pgname$)+1,addr(cmdl$),0,0,addr(pid%))
  29.         if ret%<0
  30.             pgname$=left$(pgname$,len(pgname$)-1)
  31.             print "Couldn't start",pgname$
  32.             print err$(ret%) :get :continue
  33.         endif
  34.         call($0688,pid%)
  35.     endwh
  36. ENDP
  37.