Salut à tous, j'ai un soucis de sauvegarde de données et mes compétences en Delphi sont un peu limites sur ce coup la.
Le problème est d'enregistrer un tableau de chaine de caractères.
Je ne détaille pas le code car il marche dans le cas général, je vous donne plutot la démarche que je suis.
J'ai une procédure récursive qui effectue les opérations suivantes
Je charge le tableau dans une Tstringlist
j'utilise la routine LoadtoFile pour écrire le fichier.
je ferme le fichier.
J'ouvre a nouveau le fichier en mode lecture et je vérifie que les données écrites sont conformes au tableau en mémoire.
Si oui je ferme (condition de sortie) si non je ferme et je rappelle la procédure.
Avec ça tout ce passe bien à 99%.
Dans certains cas, lors de l'écriture sur une disquette (le genre de disquette qui a du vécu, trimballée dans des sac un peu n'importe comment etc...)
Il peu se passer une rupture de flux lors de l'écriture du fichier. Ce cas n'étant pas prévu par le programme, il se bloque et laisse le fichier en l'état, la moitié des données passant à la trappe.
Vous aller me dire : "t'as qu'a prendre soin de tes disquettes"
Le soucis est que mon appli est utilisée par une cinquantaine de collègues avec des niveaux divers en info, leur fichier leur a été donné sur disquette et pour la plupart d'entre eux le copier coller de fichier (qui leur permettrais de travailler sur le dur) reste un point de connaissance à priori inaccéssible.
Y a-t-il un moyen quelquonque de remédier à cela ?
En forçant le programme a passer outre la rupture de flux et en recommençant l'écriture (ou en demandant une nouvelle disquette).
Merci.
Partager