home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD1282712192000.psc / modFile.bas < prev    next >
Encoding:
BASIC Source File  |  2000-12-18  |  3.8 KB  |  115 lines

  1. Attribute VB_Name = "modFile"
  2. Option Explicit
  3. Private Type OPENFILENAME
  4.     lStructSize As Long
  5.     HwndOwner As Long
  6.     hInstance As Long
  7.     lpstrFilter As String
  8.     lpstrCustomFilter As String
  9.     nMaxCustFilter As Long
  10.     nFilterIndex As Long
  11.     lpstrFile As String
  12.     nMaxFile As Long
  13.     lpstrFileTitle As String
  14.     nMaxFileTitle As Long
  15.     lpstrInitialDir As String
  16.     lpstrTitle As String
  17.     FileLengthags As Long
  18.     nFileOffset As Integer
  19.     nFileExtension As Integer
  20.     lpstrDefExt As String
  21.     lCustData As Long
  22.     lpfnHook As Long
  23.     lpTemplateName As String
  24.     End Type
  25.     Public Const OFN_READONLY = &H1
  26.     Public Const OFN_OVERWRITEPROMPT = &H2
  27.     Public Const OFN_HIDEREADONLY = &H4
  28.     Public Const OFN_NOCHANGEDIR = &H8
  29.     Public Const OFN_SHOWHELP = &H10
  30.     Public Const OFN_ENABLEHOOK = &H20
  31.     Public Const OFN_ENABLETEMPLATE = &H40
  32.     Public Const OFN_ENABLETEMPLATEHANDLE = &H80
  33.     Public Const OFN_NOVALIDATE = &H100
  34.     Public Const OFN_ALLOWMULTISELECT = &H200
  35.     Public Const OFN_EXTENSIONDIFFERENT = &H400
  36.     Public Const OFN_PATHMUSTEXIST = &H800
  37.     Public Const OFN_FILEMUSTEXIST = &H1000
  38.     Public Const OFN_CREATEPROMPT = &H2000
  39.     Public Const OFN_SHAREAWARE = &H4000
  40.     Public Const OFN_NOREADONLYRETURN = &H8000
  41.     Public Const OFN_NOTESTFILECREATE = &H10000
  42.     Public Const OFN_NONETWORKBUTTON = &H20000
  43.     Public Const OFN_NOLONGNAMES = &H40000 ' force no long names for 4.x modules
  44.     Public Const OFN_EXPLORER = &H80000 ' new look commdlg
  45.     Public Const OFN_NODEREFERENCELINKS = &H100000
  46.     Public Const OFN_LONGNAMES = &H200000 ' force long names for 3.x modules
  47.     Public Const OFN_SHAREFALLTHROUGH = 2
  48.     Public Const OFN_SHARENOWARN = 1
  49.     Public Const OFN_SHAREWARN = 0
  50.  
  51. Public sHwnd As Long
  52. Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  53. Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  54.  
  55. Function SaveFile(Optional Filter As String, Optional Title As String, Optional InitDir As String) As String
  56.     
  57.     Dim OFN As OPENFILENAME
  58.     Dim A As Long
  59.     OFN.lStructSize = Len(OFN)
  60.     OFN.HwndOwner = sHwnd
  61.     OFN.hInstance = App.hInstance
  62.     
  63.     If Len(Filter) = 0 Then Filter = "Text Files (*.txt)" & Chr$(0) & "All Files (*.*)" & Chr$(0) & "*.*"
  64.     If Len(InitDir) = 0 Then InitDir = App.Path & "\"
  65.     If Len(Title) = 0 Then Title = "Open file"
  66.     
  67.     If Right$(Filter, 1) <> "|" Then Filter = Filter + "|"
  68.  
  69.  
  70.     For A = 1 To Len(Filter)
  71.         If Mid$(Filter, A, 1) = "|" Then Mid$(Filter, A, 1) = Chr$(0)
  72.     Next
  73.     OFN.lpstrFilter = Filter
  74.     OFN.lpstrFile = Space$(254)
  75.     OFN.nMaxFile = 255
  76.     OFN.lpstrFileTitle = Space$(254)
  77.     OFN.nMaxFileTitle = 255
  78.     OFN.lpstrInitialDir = InitDir
  79.     OFN.lpstrTitle = Title
  80.     OFN.FileLengthags = OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT Or OFN_CREATEPROMPT
  81.     A = GetSaveFileName(OFN)
  82.  
  83.  
  84.     If (A) Then
  85.         SaveFile = Trim$(OFN.lpstrFile)
  86.     Else
  87.         SaveFile = ""
  88.     End If
  89. End Function
  90.  
  91.  
  92. Public Function OpenFile(Optional Filter As String, Optional Title As String, Optional InitDir As String) As String
  93.     
  94.     Dim OFN As OPENFILENAME
  95.     Dim A As Long
  96.     Static LastDir As String
  97.     If Len(LastDir) > 0 Then InitDir = LastDir
  98.     If Len(Filter) = 0 Then Filter = "Text Files (*.txt)" & Chr$(0) & "All Files (*.*)" & Chr$(0) & "*.*"
  99.     If Len(InitDir) = 0 Then InitDir = App.Path & "\"
  100.     If Len(Title) = 0 Then Title = "Open file"
  101.     
  102.     OFN.lStructSize = Len(OFN)
  103.     OFN.HwndOwner = sHwnd
  104.     OFN.hInstance = App.hInstance
  105.     
  106.     If Right$(Filter, 1) <> "|" Then Filter = Filter + "|"
  107.     
  108. - Filteen \"
  109.    + "|"Hing 
  110.    OFN.lStn
  111.    +g
  112. r Aop, 1 
  113. - Filgta 
  114.    OFN.lStn
  115. gp, 1meA" (pOnAop,e1E