Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Instantaneous file search tool
Message
From
04/05/2018 00:36:02
 
 
To
03/05/2018 15:34:18
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Miscellaneous
Thread ID:
01659693
Message ID:
01659730
Views:
55
>for Tore and Thomas:let's summarize what has been said before:
>
>i guess there is no problem to imitate the soft "everything" from visual foxpro.the work plan is as follow:
>1-make a recursive scan in all pc drives (dirs and subdirs) and gather all in one cursor...copy to a permanent table(as i said i have near 700.000 records)
> the table have the structure [directory,filename,size,date&time modified,attribute] ( array returned from adir)
>at this step build a form with a textbox and a grid(recordsource=cursor using select Command for condition on textbox)
>the textbox can be react in interactiveChange method(fires select statement and populate the grid instantaneaously).
>this step dont have any problem to build.( i built it already)
>
>2.can use on background a vfp application to update the mother table.this can use the "detectfile" class of wmhandler.vcx
> this app monitors continously in background and updates the mother table in case this system events:
> -creating a new file
> -deleting a file
> -renaming a file
> -moving a file
> -changing attribut of any file
>
>all these are returned by windows messages(with bindevent).the updated table becomes then an online one and any search is reflected as live and fair.
>
>all these works are made simply with a mother table and a cursor.
>when the table is updated maybe must lock access to search tool ...
>other things are details as icon,run selected file (shellexecute)....

Have you thought about the performance implications of an app like this? Most PCs - all those with magnetic drives, and most with consumer-grade SSDs, are I/O bound. If you indiscriminately bind to all system disk I/O then in effect you're multiplying its load. For example, if you're watching I/O to the pagefile and the system starts paging to disk then your app could multiply that paging and decrease overall performance.

I think for sure you will need to exclude certain system files and folders from any BINDEVENT(). I'd suggest you can't continue to bind to those but in your app say "OK, that file/folder is in my internal do-not-process list" because finding out if an incoming event is in the list may require I/O (e.g. lookup). I'd recommend not binding to those files/folders at all.

If you're contemplating making your app a service, you may want to delay its start until the system has finished booting otherwise it could make it slow to boot.
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Previous
Reply
Map
View

Click here to load this message in the networking platform