Windows Explorer type control

Posted on 2006-05-05
Medium Priority
Last Modified: 2010-04-05
Is there a windows explorer like control within delphi.  We have need of a change to our application (customer number driven) so when a person clicks on a button, it will open a specific (predefined) directory so the user can view any attachments associated wit the customer.  For example

\Customer documents\123456

Where "customer documents" is a predefined directory where all of the documents will be stored and
where 123456 relates to the customer number being viewed at the time (if the folder exists, open it, otherwise, create a new subfolder on the fly and then leave it there for future use.

Seperate question: Are there any plug in products that might also provide this same functionality that could be intergrated into our product that we could just call/reference

We don't have alot of strong delphi experience (only maintaining existing code) which is why, if the question sounds really basic, I appologize


please advise

Question by:Jackson_62
  • 3
  • 2
LVL 26

Accepted Solution

Eddie Shipman earned 750 total points
ID: 16618397
Yes, check this package, just open sourced today...

Assisted Solution

Scay7 earned 750 total points
ID: 16619277
Im not to sure as to what you want done.
1. the working DIR should it act like a Explorer browser for files
2. Must this browser be contained in you application
3. Are the customers allowed to view the other customers DIRs
4. is it a DIR where information is stored for every customer that the program uses

5. This is how i understand it...

procedure TForm1.Button1Click(Sender: TObject);
Workingdir := 'c:\Customer documents\';
if directoryexists(workingdir+'123456') then
//continue in customer DIR
end else
      //create new Customer dir then work in it, if it cant raise exception
      if not CreateDir(workingdir+'123456') then
      raise Exception.Create('Cannot create New folder!');

Author Comment

ID: 16630312
Eddieshipman:  I believe if I read this correctly, the TShellView component would give me that functionality ?

Scay7:  Yes, it appears you have the basics in place.  The end user would already have an inquiry screen in place with the customer up (e.g. customer number 123456).  What I envision would be tthat the program would only enable the 'document button" when a customer number has been retrieved (so to answer your second question, this application would be contained as part of my overall program).  At that point, the button would be enabled, and the end user has the ability to view any documents assciated with that customer.  In your code example, the customer number (e.g. value of field XXXXXX) would be used to either open an already existing subfolder in the working directory, or create a new one with the ability to open documents in the window, or drag and drop documents into the window.  

In this application, the 'customer' does not have the ability to see their or any other customer documents, only the customer service rep who is viewing the data of that customer.

the working directory will be a directory created before hand to contain all of the customer subfolders (and subsequent documents).  It will no doubt live on the server (e.g. I: drive ) rather then the individual PCs.

So from the sounds of it, the solution appears to be fairly simple ?

thanks in advance for both of your help -


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 26

Expert Comment

by:Eddie Shipman
ID: 16630442
Jackson_62, the controls I mentioned are enhanced over the standard TShellListView.

Author Comment

ID: 16630500
Does this logic also allow for the opening of files (e.g. similar to windows exploror logic) to correctly identify the application that corresponds to the file type ?
LVL 26

Expert Comment

by:Eddie Shipman
ID: 16631947
It actually hosts Explorer so it should do anything Explorer does.
I don't use them personally.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

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…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Suggested Courses
Course of the Month14 days, 15 hours left to enroll

839 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