Thanks all those that replied.  I implemented Eric Frost's solution which
worked a charm.  

Thanks to everyone that replied and Eric if you are every down this way I
owe you a beer.


Cheers

Martin

==================================
Martin Roundill
GIS Manager
Waitakere City Council
Private Bag 93109
Henderson
Waitakere City
New Zealand


>>>>>>>>>>>>>>  Solution from Eric Frost / HR and Associates, Inc.
[EMAIL PROTECTED]

Include "MapBasic.def" 
Type BROWSEINFO 
  hwndOwner as Integer 
  pidlRoot As Integer 
  pszDisplayName As String 
  lpszTitle As String 
  ulFlags As Integer 
  lpfn As Integer 
  lParam As Integer 
  iImage As Integer 
End Type 
  
Declare Function SHBrowseForFolder Lib "shell32.dll" (bi As BROWSEINFO) As
Integer 
Declare Function SHGetPathFromIDList Lib "shell32.dll" (ByVal pidl As
Integer, szPath As String) As Integer 
  
Dim r As Integer, bi As BROWSEINFO, s As String 
s = Space$(260) 
bi.hwndOwner = SystemInfo(SYS_INFO_MAPINFOWND) 
bi.pidlRoot = 0 
bi.pszDisplayName = s 
bi.lpszTitle = "Default Data Folder" 
bi.ulFlags = 1 
bi.lpfn = 0 
bi.lParam = 0 
bi.iImage = 0 
r = SHBrowseForFolder(bi) 
If r <> 0 Then 
  r = SHGetPathFromIDList(r, s) 
End If 
Print s

>>>>>>>>>>>>>>  Peter Doyle [EMAIL PROTECTED]
>>>>>>>>>>>>>>>>>>>>
>>>>> A similar response was received from Mike Taylor
[EMAIL PROTECTED]  >>>>>>>>>>>>
>>>>> The idea being to pre-set a file name, Mike suggested "Choose
directory and press save" for the file name >>>>>
>>>>> A good solution but Eric's solution is cleaner >>>>>>>>>>>>

Include "Mapbasic.def"

Declare Sub Main

Dim DirectoryName As String

Sub Main

        DirectoryName = PathToDirectory$(FileSaveAsDlg("" ,"temp" ,"" ,
"Select Directory"))

        If DirectoryName = "" Then
                Note "User pressed Cancel"
                Exit Sub
        End If

        Note DirectoryName

End Sub

>>>>>>>>>>>>>>>>>>>>>  Christian Singer [[EMAIL PROTECTED]] replied
>>>>>>>>>>>>>>>>>>>>>>
A way to implement a folder selection dialog is to modify
the standard Windows 'GetOpenFileName()' dialog by use of a
so-called 'hook' function for this dialog, intercepting
WM_INITDIALOG and WM_NOTIFY messages. This also makes the
creation of new folders feasible.
Alternatively, you could 'borrow' the directory tree view
from the left frame of the Windows Explorer via OLE2 and
the Windows Shell API, using 'SHBrowseForFolder()'.
In any case, as far as I know, you won't be able to do this
with MB alone, but rather require a more powerful development
tool (like a C++ compiler ...) to build a small supplementary
DLL module.

>>>>>>>>>>>>>>>>>>>> Cautley, David/PDX [[EMAIL PROTECTED]] was quick of the
mark with the following reply >>>>>>>>>>>>>>>>>>
In a word, No.  Same problem exists in plain old Visual Basic -- because the
standard Microsoft dialog boxes don't understand that sometimes you just
want to select a folder, not specify a file name.  Sometimes the FileSaveAs
dialog is a little closer to what you want than FileOpen.  Don't remember
off the top of my head what MapBasic provides in the Save or SaveAs
category.
----------------------------------------------------------------------
To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
"unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]

Reply via email to