Solved

Path Dialogs

Posted on 1998-07-30
25
303 Views
Last Modified: 2010-04-04
Can anyone tell me how to get a "Open File Dialog" to get the path only?

I need to make a dialog where the user must select a path only.
0
Comment
Question by:jconde
  • 11
  • 8
  • 6
25 Comments
 
LVL 10

Accepted Solution

by:
viktornet earned 10 total points
ID: 1359234
Like this....

OD - Open File Dialog
------------
var Path : string;
begin
  Path := ExtractFilePath(OD.Filename);
end;  
----------
That's all...

Regards,
Viktor Ivanov
0
 
LVL 7

Author Comment

by:jconde
ID: 1359235
Thats right viktor, but I need to choose a file in order to run the extractpath fuction!  I just want to select a path from the dialog box.

jorge
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359236
I'm not sure what you need...Would you please explain it again... Thanx...

Regards,
Viktor Ivanov
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 10

Expert Comment

by:viktornet
ID: 1359237
You mean you have a listbox or something with the paths of some files, and when you select a path from there you want something to happen? Is that what you want?

Regards,
Viktor Ivanov
0
 
LVL 7

Author Comment

by:jconde
ID: 1359238
Viktor:

What I want to do, is to open up the dialog box, and then select a folder (directory) only.  What I don't want to do, is to have to select a file and then extract the path out from it.

Or, do you suggest any other way of accomplishing this task?...I'll say again, I don't want to select a file, I want a path only.  (when you click in a folder, the folder opens, and expects you to select a file....that's what i want to avoid)

bye
jorge
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359239
What you can do is when the Open Dialog execute, even if the user selects a file and press open, then you don't write any code for opening files or anything...Just write the procedure I gave you above to extract the path...when I say path I mean the path to the last sub folder without the name of the file selected...Maybe what I just wrote sounds a little nonsense, but if you want me to write a fast demo for I will, just leave a comment with your e-mail address...Talk to you later...

Regards,
Viktor Ivanov
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359240
Well, I already wrote a demo, so if you want to see it just leave a comment telling me your e-mail address so I can send you the source code...

Regards,
Viktor Ivanov
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359241
There is actually another way which is not maybe the best one...This way is to actually set the DefaultExt property to have a value that doesn't exist in the system....like...

DefaultExt := '*.sss'; this will prevent the opend dialog to show files and there will be only directories...

Regards,
Viktor Ivanov
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359242
function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint):Boolean;

From help:
Calling the SelectDirectory function displays the Select Directory dialog box.

Detail see in help.

If it help I hope you do not forget about points :-)

0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359243
It's the same thing wethere you choose this OldStyle file dialog box or the official Dilaog Box...It still displays the files.....If you need a specific name of directory you can use ... DirectoryExists...or what you could do is use TSearchRec....with FindFirst, FindNext...and a flag 'faDirectory', which will return all subdirectories in a specified directory....

Regards,
Viktor Ivanov      
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359244
When you use OpenDialog user must select file.
When you use SelectDirectory user must select only path.

0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359245
Ain't it the same? You can extract the path from the file though, what you can also do is to change the style of the Open Dialog and it will still be the same as the Directory Dialog :), anyway...As I was making research I saw this TFolderBrowse(not sure for the name)component that is exactly what you need... I think I saw it on Torry's Pages...I'm not sure ...Gotta find it somehow....Talk to ya later guys...

Regards,
Viktor Ivanov
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359246
> Ain't it the same? You can extract the path from the file though.

It is not the same.
When you use OpenDialog user MUST SELECT FILE.
What will you do if the directory is empty (no files)?
How do you select this directory?


0
 
LVL 7

Author Comment

by:jconde
ID: 1359247
Thats the point vladika, I don't want the user to select any files!
0
 
LVL 7

Author Comment

by:jconde
ID: 1359248
Can you tell me how to do that please vladika or viktor?

thanx

jorge
0
 
LVL 7

Author Comment

by:jconde
ID: 1359249
Can you tell me how to do that please vladika or viktor?

thanx

jorge
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359250
Excuse me, I do not understand.
Are you try to use SelectDirectory function?

0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359251
Vladika: He needs a Dialog that would display only directories with no files...Like when you go to Start/FindFiles/Browse/...(that's in Windows, not in Delphi)  and it will display only the dirs, and subdirs, without files....I think that's what he is looking for....

Regards,
Viktor Ivanov
 
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359252
As Victor say there are many freeware components for this task.
I try TBrowseFolder, TBrowseDialog, TBrowseDirectoryDlg from torry's page (www.torry.ru)
All components with source (you can learn it).
It works fine. Try to use it.

0
 
LVL 3

Expert Comment

by:vladika
ID: 1359253
O, SORRY!!!
Viktor

0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359254
Vladika: Sorry about what???

Regards,
Viktor Ivanov
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359255
I wrote ViCtor. Sorry.


0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359256
Don't worry about that...Actually my name is spelled Victor, but in my passport it is written Viktor . That's the reason I use Viktor instead of Victor...Friends???

Regards,
Viktor Ivanov
0
 
LVL 3

Expert Comment

by:vladika
ID: 1359257
O'key
0
 
LVL 7

Author Comment

by:jconde
ID: 1359258
Thank you both, I got it working!

regards,
jorge
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
find a node in VST 2 68
Error E2158 compiling with Delphi XE10 Seattle 2 100
When i run adoquery my application freezes 26 166
PHP preg_replace code convert to Delphi 14 56
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question