Comment vider rapidement le contenu d'un fichier HFSQL Classic

Auteur : Thernius

Il n'existe pas de commande permettant de supprimer directement le contenu entier d'un fichier HFSQL Classic.

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.

HFerme()
FSupprime(.fic)
FSupprime(.ndx)
HCreationSiInexistant()

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).

Complément :

- la fonction HSupprimeTout est maintenant disponible et tout particulièrement en client serveur.

- laisser du temps au système de fichier pour effectuer les opération après les suppressions par un multitâche(-3) supprime des échec possible de création du nouveau fichier.