Comment supprimer rapidement un fichier HF par programmation ?

Demandé et répondu par Thernius le 27-Sep-2004 12:14

Comment supprimer rapidement un fichier HF par programmation ?

A l'heure actuelle, il n'existe pas de commande permettant de supprimer directement le contenu entier d'un fichier HF. Alors comment faire pour supprimer tout le contenu d'un tel ficher, surtout lorsque celui ci contient des milliers et à fortiori des millions d'enregistrements.

Un parcours un par un des enregistrement couplé à la fonction HSupprime est à proscrire pour des problèmes évidents de temps d'exécution.

Une méthode bien plus rapide et propre consiste à utiliser le code suivant :

HFerme(<fichier>)
FSupprime(<fichier>.fic)
FSupprime(<fichier>.ndx)
HCreationSiInexistant(<fichier>)


Ce code marchera très bien pour une application monoposte, il est conseillé par contre de prendre des précautions dans le cas d'une application réseau. Il serait bon au préalable de vérifier la présence d'utilisateur connecté et éventuellement de prévoir un code leur demandant de quitter l'application (avec un timer à 60 secondes par exemple qui exécute automatiquement l'action au bout du délai).

Cette Q&R a été trouvée sur WDForge.org : http://old.wdforge.org/modules/smartfaq/faq.php?faqid=34