Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
INDEX ON (displaying progress)
Message
 
À
13/07/2010 09:18:40
Mike Yearwood
Toronto, Ontario, Canada
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01471425
Message ID:
01472343
Vues:
56
>>>>Hi Gang!
>>>>
>>>>In one of our apps, there is some code to do an
>>>>
>>>>INDEX ON
>>>>
>>>>to recreate the tags in the free table.
>>>>
>>>>
>>>>The output is displayed on the form, but looks very uncontrolled... writing over text and objects.
>>>>
>>>>
>>>>I have added an editbox to show output before we reach this point in the program.
>>>>
>>>>Any way to redirect the output of INDEX ON to go into the editbox, instead of the form itself?
>>>>
>>>>Thanks!
>>>
>>>
>>>The way to do this is use a 2-pass approach - pseudo code:
>>>
>>>
>>>Step 1
>>>
>>>USE original_file_name IN 0 EXCL
>>>
>>>SELECT original_file_name 
>>>
>>>tnum_records = RECCOUNT()
>>>tnum_processed = 0
>>>
>>>COPY TO temp_file_name FOR PROGRESS_STATUS()  
>>>
>>>
>>>
>>>Step 2:
>>>
>>>SELECT original_file_name 
>>>ZAP
>>>
>>>*recreate index tags here
>>>
>>>tnum_processed = 0
>>>
>>>APPEND FROM temp_file_name FOR PROGRESS_STATUS()
>>>DELETE FILE temp_file_name
>>>
>>>
>>>The PROGRESS_STATUS() aleways returns .T. but can use the m.tnum_records and m.tnum_processed variables to display a percentage of total records processed so far in some format, numeric, progress bar, whatever.
>>
>>Thanks!
>
>While that is interesting, the problems with it are that the index created that way will not be the smallest it can be. Indexing will take longer that way too, and not because of the display update, but because updating indexes takes longer than building from scratch.
>
>The quickest possible way - and that excludes all progress bar approaches I've ever seen - is to direct TALK and NOTIFY to a custom window and let VFP do it's own internal display.

True - which was the final route taken.

Thanks!
Tommy Tillman A+ NetWork+ MCP
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform