PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Supprimer un fichier PDF en cours de visualisation dans une table image
Supprimer un fichier PDF en cours de visualisation dans une table image
Iniciado por ehouarn_56, 01,abr. 2014 17:09 - 1 respuesta
Publicado el 01,abril 2014 - 17:09
Bonjour,

J'ai un table dont une des colonnes est de type image. Dans cette colonne, j'ai le chemin d'un fichier externe PDF.
L'utilisateur peut donc voir directement les PDF.

[i]Code d'insertion des enregistrements dans ma table : [/i]
TableAjouteLigne(Table_Q_Papier,srcReq.IDPapier,srcReq.Pa_Chemin,srcReq.Pa_Intitule,srcReq.Pa_Type,srcReq.Pa_CréeLe)


Voici ce que ça donne :
[url=http://www.heberger-image.fr][img]

[/img][/url]

Lorsque je clique sur le bouton "Supprimer", je souhaiterais maintenant pouvoir supprimer un PDF de la table et sur le disque dur.

[i]Code de suppression[/i]
tmpIDPapier est un entier = 0
SI TableSelect(Table_Q_Papier)<>-1 ALORS
tmpIDPapier = Table_Q_Papier.IDPapier[TableSelect(Table_Q_Papier)]
TableSupprimeTout(Table_Q_Papier)
HLitRecherchePremier(Q_Papier,IDPapier,tmpIDPapier,hIdentique)
SI HTrouve(Q_Papier) ALORS
SI fFichierExiste(Q_Papier.Pa_Chemin) ALORS
SI fSupprime(Q_Papier.Pa_Chemin)=Faux ALORS
Erreur("Impossible de supprimer le pdf.", ErreurInfo())
SINON
SI HSupprime(Q_Papier) = Faux ALORS
Erreur("Ligne du fichier Q_Papier non supprimée")
FIN
FIN
FIN
SINON
Erreur("Ligne du fichier Q_Papier non trouvée")
FIN
HAnnuleRecherche(Q_Papier)
ExécuteTraitement(Table_Q_Papier,trtInit)
SINON
Info("Aucun document sélectionné.")
FIN


Le problème, c'est que mon PDF est considéré comme "ouvert", il m'indique une erreur :
[url=http://www.heberger-image.fr][img]

[/img][/url]

Je n'arrive pas à "fermer" ce fichier.
J'ai essayé de supprimer les lignes du tableau avant de supprimer le fichier externe mais le fichier reste en ouverture dans Windev. (TableSupprimeTout(Table_Q_Papier))
J'ai essayé de "fermer" le fichier mais je n'ai pas son identifiant d'ouverture donc j'ai essayé avec le chemin. (Fferme(Q_Papier.Pa_Chemin))
FDébloque(Q_Papier.Pa_Chemin) ou fAttributLectureSeule(Q_Papier.Pa_Chemin,faux) ne marchent pas non plus.

Si vous avez une solution ou une proposition d'un autre système permettant d'afficher des images miniatures des PDF dans une table, je suis preneur !

Merci par avance.
Publicado el 05,marzo 2020 - 15:21
Pour que ça fonctionne :
sNomFichier = TABLE_photos.COL_photo[nIndice]
TABLE_photos.COL_photo[nIndice] = ""
MultitâcheRepeint()
SI PAS (sNomFichier ~= "") ALORS
bSupprime = fSupprime(sNomFichier)
SI PAS bSupprime ALORS
TABLE_photos.COL_photo[nIndice] = sNomFichier
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
FIN
TableSupprime(TABLE_photos)