home *** CD-ROM | disk | FTP | other *** search
/ PSION CD 2 / PsionCDVol2.iso / Programs / 220 / GETPATH.SIS / GetPath (.txt) < prev   
Encoding:
EPOC OPL Source  |  1998-08-13  |  2.7 KB  |  116 lines

  1.  
  2.  
  3. APP GetPath, 268437310        REM Reserved id. Do not use for other apps
  4.     CAPTION "GetPath", 1
  5.     ICON "GetPath.mbm"
  6. ENDA
  7.  
  8.  
  9. REM TODO LIST
  10. rem
  11. rem
  12. rem
  13. rem
  14.  
  15.  
  16. INCLUDE "CONST.OPH"
  17. INCLUDE "SYSTEM.OXH"
  18.  
  19. DECLARE EXTERNAL
  20. EXTERNAL CopyStringToClipBoard%:(PString$)
  21.  
  22.  
  23. PROC Main:
  24.     LOCAL String$(255)
  25.     
  26.     String$ = OPENFILEDIALOG$:("C:\",0, 0, 0)
  27.     
  28.     String$ = """" + String$ + """"
  29.     
  30.     CopyStringToClipBoard%:(String$)
  31.     
  32.     gIPRINT "Path copied to clipboard", 0
  33.     
  34.     PAUSE 30
  35.     
  36.     rem--------------------------------------
  37.     REM Need to display task list as GetPath
  38.     REM returns to system screen when it closes
  39.     rem--------------------------------------
  40.     
  41.     DISPLAYTASKLIST:
  42. ENDP
  43.  
  44.  
  45.  
  46. PROC CopyStringToClipBoard%:(PString$)
  47.  
  48.     LOCAL FileHandle%
  49.     
  50.     LOCAL FileHeader1&
  51.     LOCAL FileHeader2&
  52.     LOCAL FileHeader3&
  53.     LOCAL FileHeader4&
  54.     LOCAL OffsetOfEndOfString&
  55.     LOCAL LenghtOfString&
  56.     LOCAL StringToClipBoard$(255)
  57.     LOCAL FileTail1%
  58.     LOCAL FileTail2&
  59.     LOCAL FileTail3&
  60.     
  61.     rem--------------------------------------
  62.     REM Replace old clipboard file or create it if not existing
  63.     rem--------------------------------------
  64.     
  65.     IOOPEN(FileHandle%, "C:\System\Data\Clpboard.cbd", $302)
  66.     
  67.     rem--------------------------------------
  68.     REM Write header to clipboard file 4 bytes at a time
  69.     rem--------------------------------------
  70.     
  71.     FileHeader1& = &10000037
  72.     FileHeader2& = &1000003B
  73.     FileHeader3& = &0000000
  74.     FileHeader4& = &4739D53B
  75.     
  76.     IOWRITE(FileHandle%, ADDR(FileHeader1&), 4)
  77.     IOWRITE(FileHandle%, ADDR(FileHeader2&), 4)
  78.     IOWRITE(FileHandle%, ADDR(FileHeader3&), 4)
  79.     IOWRITE(FileHandle%, ADDR(FileHeader4&), 4)
  80.     
  81.     rem--------------------------------------
  82.     REM Write string information to clipboard file
  83.     rem--------------------------------------
  84.     
  85.     StringToClipBoard$ = PString$
  86.     
  87.     OffsetOfEndOfString& = &19 + LEN(StringToClipBoard$)
  88.     LenghtOfString& = LEN(StringToClipBoard$)
  89.     
  90.     IOWRITE(FileHandle%, ADDR(OffsetOfEndOfString&), 4)
  91.     IOWRITE(FileHandle%, ADDR(LenghtOfString&), 4)
  92.     
  93.     rem--------------------------------------
  94.     REM Write string to clipboard file
  95.     rem--------------------------------------
  96.     
  97.     IOWRITE(FileHandle%, ADDR(StringToClipBoard$) + 1, LEN(StringToClipBoard$))
  98.     
  99.     rem--------------------------------------
  100.     REM Write closing bytes to clipboard file
  101.     rem--------------------------------------
  102.     
  103.     FileTail1% = $0200
  104.     FileTail2& = &10000033
  105.     FileTail3& = &00000014
  106.     
  107.     IOWRITE(FileHandle%, ADDR(FileTail1%), 2)
  108.     IOWRITE(FileHandle%, ADDR(FileTail2&), 4)
  109.     IOWRITE(FileHandle%, ADDR(FileTail3&), 4)
  110.     
  111.     IOCLOSE(FileHandle%)
  112.  
  113. ENDP
  114.  
  115.  
  116.