home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Hutch / DOWNLOAD / Example2.exe / SPLASH / FILEDLGS.ASM next >
Encoding:
Assembly Source File  |  1999-06-08  |  2.1 KB  |  71 lines

  1. ; ########################################################################
  2.  
  3.     GetFileName  PROTO :DWORD, :DWORD, :DWORD
  4.     SaveFileName PROTO :DWORD, :DWORD, :DWORD
  5.     FillBuffer   PROTO :DWORD, :DWORD, :BYTE
  6.  
  7.     .data
  8.       szFileName    db 260 dup(0)
  9.       ofn           OPENFILENAME <>  ; structure
  10.  
  11.     .code
  12.  
  13. ; ########################################################################
  14.  
  15. GetFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD
  16.  
  17.     mov ofn.lStructSize,        sizeof OPENFILENAME
  18.     m2m ofn.hWndOwner,          hParent
  19.     m2m ofn.hInstance,          hInstance
  20.     m2m ofn.lpstrFilter,        lpFilter
  21.     m2m ofn.lpstrFile,          offset szFileName
  22.     mov ofn.nMaxFile,           sizeof szFileName
  23.     m2m ofn.lpstrTitle,         lpTitle
  24.     mov ofn.Flags,              OFN_EXPLORER or OFN_FILEMUSTEXIST or \
  25.                                 OFN_LONGNAMES
  26.  
  27.     invoke GetOpenFileName,ADDR ofn
  28.  
  29.     ret
  30.  
  31. GetFileName endp
  32.  
  33. ; #########################################################################
  34.  
  35. SaveFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD
  36.  
  37.     mov ofn.lStructSize,        sizeof OPENFILENAME
  38.     m2m ofn.hWndOwner,          hParent
  39.     m2m ofn.hInstance,          hInstance
  40.     m2m ofn.lpstrFilter,        lpFilter
  41.     m2m ofn.lpstrFile,          offset szFileName
  42.     mov ofn.nMaxFile,           sizeof szFileName
  43.     m2m ofn.lpstrTitle,         lpTitle
  44.     mov ofn.Flags,              OFN_EXPLORER or OFN_LONGNAMES
  45.                                 
  46.     invoke GetSaveFileName,ADDR ofn
  47.  
  48.     ret
  49.  
  50. SaveFileName endp
  51.  
  52. ; ########################################################################
  53.  
  54. FillBuffer proc lpBuffer:DWORD,lenBuffer:DWORD,TheChar:BYTE
  55.  
  56.     push edi
  57.  
  58.     mov edi, lpBuffer   ; address of buffer
  59.     mov ecx, lenBuffer  ; buffer length
  60.     mov  al, TheChar    ; load al with character
  61.     rep stosb           ; write character to buffer until ecx = 0
  62.  
  63.     pop edi
  64.  
  65.     ret
  66.  
  67. FillBuffer endp
  68.  
  69. ; #########################################################################
  70.  
  71.