Je réactive ce vieux message pour tenter de le cloturer
Après quelques essais voilà où j'en suis :
J'ai utilisé, dans une action code, les méthode exists (test d'existence d'un fichier) et remove (action de suppression d'un fichier)
le contenu de mon script est donné ci-dessous :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.5.0" scriptVersion="1.0.0" os="Windows"/>
<actions>
<action name="ActionCode" version="1.0.0"/>
</actions>
<parameters/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionCode">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="code">
<subParameter name="value" code="1">//script permettant d'effacer un fichier
//prerequis :
//NomFichierComplet : contient le nom du fichier à supprimer
var NomFichierComplet = "U:\\USERS\\toto.txt"
var Fic = new QFileInfo( NomFichierComplet )
//Test de l'existence du Fichier NomFichierComplet
//if (File.exists(NomFichierComplet)) { //cette façon d'appeler la méthode exists ne fonctionne pas
if (Fic.exists()) {
//il existe je le supprime
File.remove(NomFichierComplet)
//Fic.remove() //(cette façon d'appeler la methode remove ne fonctionne pas)
}</subParameter>
</parameter>
</action>
</script>
</scriptfile>
Maintenant ce qui ne va pas dans mon script :
L'appel de File.remove déclenche l'apparition d'une boite de dialogue pour confirmer la suppression
(j'aimerais bien me passer de cette fenêtre de confirmation (car bloquante pour actionaz))
et pire si je refuse la suppression mon script actionaz se termine en erreur (que je ne sais pas gérer)
pouvez-vous m'aider ?
De manière plus accessoire, une question de compréhension :
Dans les spécifications de QFile je vois que j'ai la possibilité d'appeler
exists et
remove de plusieurs façons (vu sur
QFile Class Reference)
Methods
bool exists (self)
bool remove (self)
Static Methods
bool exists (QString fileName)
bool remove (QString fileName)
Mais dans la pratique ça ne marche pas comme cela pour
exists et
remove.
Pour l'un j'ai seulement le droit de faire un test du type <objet Qfile>.exists() et pour l'autre seulement de faire un test du type File.remove( "MonNomDeFichier" )
Là je ne comprends pas trop pourquoi j'ai ce mode de fonctionnement.