Hi,
There are several disks on the computer - C:\,D:\, E:..
I need to select a folder from disk c D:\ (c getDir() or cGetDir32()).
Is it possible to make only the D:\ drive available ?
Hi,
There are several disks on the computer - C:\,D:\, E:..
I need to select a folder from disk c D:\ (c getDir() or cGetDir32()).
Is it possible to make only the D:\ drive available ?
You could build and show a tree using only the folders in such drive
Sorry, Antonio, I didn't understand. I can specify the initial path, but the rest of the disks will also be visible and can be selected
#include "FiveWin.ch"
function Main()
  local oDlg, oTree
  DEFINE DIALOG oDlg TITLE "Select a folder" SIZE 600, 400
  @ 10, 10 TREEVIEW oTree OF oDlg SIZE 200, 180 PIXEL
  @ 0.5, 40 BUTTON "OK" OF oDlg ACTION MsgInfo( oTree:GetSelected():cPrompt ) SIZE 50, 15
Â
  ACTIVATE DIALOG oDlg CENTER ;
   ON INIT ( oDlg:Show(), GetFolders( "c:", oTree ), .T. )
return nil  Â
function GetFolders( cPath, oItem )
  local aFolders := Directory( cPath + "\*.*", "D" )
  AEval( aFolders, { | aFolder, oNewItem | If( aFolder[ 5 ] == "D" .and. aFolder[ 1 ] != "." .and. aFolder[ 1 ] != "..",;
           ( oNewItem := oItem:Add( Upper( aFolder[ 1 ] ) ), GetFolders( cPath + "\" + aFolder[ 1 ], oNewItem ) ),) } )
return nilThat is, make your own version of the cGetDir() function? Thank you, Antonio! I'll try