Search feature in SmartFTP

Hi.

Like the search feature in Windows ( Start button --> Search )
& in WinRar there should also be a search feature in SmartFTP which allows to look for different kind of files on FTP-Servers.

The search feature should work like the dir command:
"dir /s [*.*]/[*.bmp]/[*.exe]/[*file??.*]/..."

If the user is looking for files on FTP servers then there should appear a new window in the SmartFTP main window.

This new window should contain the search results.
-->The displayed links(search results) in the new window should be working links.
That means, while selecting a search result then SmartFTP should change to this FTP-directory.


How the search feature should work in a more detailed way:

1.)
There is an example FTP server with following file structure:

ftp.example-ftp.com



  directory1



      bitmap.bmp



      executable.exe



      executable2.exe



      textfile.txt



      textfile2.txt



      giffile.gif



  directory2



      executable3.exe



      giffile2.gif


If the user selected the root directory (ftp.example-ftp.com) and
looks for "*.exe" then SmartFTP should jump to the root directory, list all files,
filter and add just the *.exe files to the new appeared search results window.

Then SmartFTP should jump to the first FTP directory (directory1),
list all files,
filter and add just the *.exe files to the already appeared search results window.

Then SmartFTP should jump to the second FTP directory ("directory2"),
list all files,
filter and add just the *.exe files to the search results window.

etc...

Look for: "*string*.*" or "*.bmp; *.txt; *.gif" should also be possible.


Furthermore SmartFTP should be able to store the search results as txt and html file.

<html>



<head>



<!-- META tags, styles or other stuff can be added here -->



<title>SmartFTP Search results: *.exe</title>



</head>







<body>



<h1>       ********   SmartFTP Search results   ********</h1>



<table>



	<tr><td><b>Searched on:</b></td><td><b><font color="#0000ff">ftp.example-ftp.com</font></b></td></tr>



	<tr><td><b>Searched for:</b></td><td><b><font color="#ff0000">*.exe</font></b></td></tr>



</table>







<h2>Results:</h2>



<b>In:</b><br>



<a href="ftp://ftp.example-ftp.com/directory1">ftp://ftp.example-ftp.com/directory1</a><br>



<br>



<b>Following files could be found:</b><br>



<a href="ftp://ftp.example-ftp.com/directory1/executable.exe">executable.exe</a><br>



<a href="ftp://ftp.example-ftp.com/directory1/executable2.exe">executable2.exe</a><br>



<br>



<br>



<b>In:</b><br>



<a href="ftp://ftp.example-ftp.com/directory2">ftp://ftp.example-ftp.com/directory2</a><br>



<br>



<b>Following files could be found:</b><br>



<a href="ftp://ftp.example-ftp.com/directory2/executable3.exe">executable3.exe</a><br>



</body>



</html>

This is another style:
<html>



<head>



<!-- META tags, styles or other stuff can be added here -->



<title>SmartFTP Search results: *.exe</title>



</head>







<body>







<h1>       ********   SmartFTP Search results   ********</h1>



<table>



	<tr><td><b>Searched on:</b></td><td><b><font color="#0000ff">ftp.example-ftp.com</font></b></td></tr>



	<tr><td><b>Searched for:</b></td><td><b><font color="#ff0000">*.exe</font></b></td></tr>



</table>











<h2>Results:</h2>



<center>



<table border="1" cellpadding="3" cellspacing="3" rules="groups">



	<thead>



	<tr>



  <td bgcolor="#ffff00">location/path</td><td bgcolor="#ff0000">found/located files</td>



	</tr>



	</thead>



	<tbody>



	<tr>



  <td rowspan="2" valign="top" bgcolor="#ffffa0"><a href="ftp://ftp.example-ftp.com/directory1">ftp://ftp.example-ftp.com/directory1/</a></td>



  <td bgcolor="#ffa0a0"><a href="ftp://ftp.example-ftp.com/directory1/executable.exe">executable.exe</a></td>



	</tr>



	<tr>



  <td bgcolor="#ffa0a0"><a href="ftp://ftp.example-ftp.com/directory1/executable2.exe">executable2.exe</a></td>



	</tr>



	</tbody>



	<tbody>



	<tr>



  <td bgcolor="#ffffa0"><a href="ftp://ftp.example-ftp.com/directory2">ftp://ftp.example-ftp.com/directory2/</a></td>



  <td bgcolor="#ffa0a0"><a href="ftp://ftp.example-ftp.com/directory2/executable3.exe">executable3.exe</a></td>



	</tr>



	</tbody>



</table>



</center>



</body>



</html>


Important:

To use the future SmartFTP's search feature in an efficient way,
it should work together with SmartFTP's FTP Directory/files cache in both directions.

If the user is looking for files on a FTP Server then SmartFTP's FTP Directory/files cache should be used at first.
After this all new scanned directories/files (which are currently not in the cache) should be added to SmartFTP's FTP Directory/files cache.