Information générale
Catégorie:
Codage, syntaxe et commandes
THERE IS A HUGE GOTCHA WITH THIS "FEATURE"
If, in the course of your scan loop the currently selected alias (not the alias you are SCANning) ends up on EOF(), then, when you hit the END SCAN you will exit the loop even though you are not EOF() on the actual alias you're scanning.
ALWAYS reselect the alias you are scanning before the END SCAN
>Well I can't check 1.x, but it works that way in FP 2.0!
>
>>Hey UT folks -
>>Sometimes I feel like a total idiot savant with VFP. Some features I know as well as the people who designed them, then I hit something like this .. which is probably something everyone but me knew about.
>>
>>Here's the feature I didn't know about, but came across by accident:
>>
>>Did you know that when you issue a SCAN/ENDSCAN VFP automatically flips a SELECT back to the correct file when hitting the ENDSCAN without you having to explicitly doing so?
>>
>>Here's an example program:
>>
>>SELECT j1
>>
>>SCAN
>> SELECT j2
>> LOCATE FOR ord = j1->rec
>> IF NOT FOUND()
>> APPEND BLANK
>> REPLACE ord with j1->rec
>> ENDIF
>>ENDSCAN
>>
>>Now I would have expected this to bomb, because I didn't issue a 'SELECT j1' after the REPLACE and there's no 'ord' field on the 'j2' file. But when the program hits the ENDSCAN, it reverts to 'j1' automatically!
>>
>>Please someone tell me this is new and not been around since VFP 3 or FoxPro 1.0. Yeesh!
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement