Page 1 sur 1

[R] Liste fichiers + affiche date

Posté : ven. 07 nov. 2008 11:26
par Linox
Bonjour, j'ai créer un bout de code pour liter les fichier puis afficher leurs date mais il ne marche pas:

Code : Tout sélectionner

#include<_FileListToArrayNew2h.au3>


$vrRepSource = FileSelectFolder("Sélectionnez le dossier contenant les photos ou images à ajouter dans votre galerie", " ")

 If $vrRepSource = "" Then 
    MsgBox(0,"Info","Vous n'avez pas choisi de dossier, création de la galerie anulée") 
    exit
 Else
 Endif


$var_Array = _FileListToArray3 ($vrRepSource & "*.jpg", 1, 0, 1,"Temp|TMP")


For $indice = 1 to $var_Array[0]
$vrdatfch =  FileGetTime($ar_Array[$indice], 1)
      MsgBox(0,"Info",$vrdatfch) 

Next
Pouriez vous m'aider ?

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 16:29
par jbnh
Plusieurs chose:

Code : Tout sélectionner

$vrdatfch =  FileGetTime($ar_Array[$indice], 1)
$ar_Array => $var_Array

Code : Tout sélectionner

$var_Array = _FileListToArray3 ($vrRepSource & "*.jpg", 1, 0, 1,"Temp|TMP")
$vrRepSource & "*.jpg" => $vrRepSource, "*.jpg"

FilegetTime: http://www.autoitscript.com/autoit3/doc ... etTime.htm

Hésite pas à te relire et chercher un minimum avant de demander de l'aide.

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 16:35
par Linox
quel erreur bête de ma part :oops:


maintenant la dernière partie du code :

Code : Tout sélectionner

For $indice = 1 to $var_Array[0]
$vrdatfch =  FileGetTime($var_Array[$indice], 1)
      MsgBox(0,"Info",$vrdatfch) 

Next
me renvoi des msgbox vide

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 19:14
par Tlem
Il vous faudrait lire un peut mieux la documentation des commandes.

La commande FileGetTime vous renvois par défaut un tableau, donc il est normal qu'une MsgBox ne puisse l'afficher.

Mettez la commande comme ceci :

Code : Tout sélectionner

$vrdatfch =  FileGetTime($var_Array[$indice], 1, 1)
 
ou si vous voulez personnaliser votre date, utilisez la commande comme vous l'avez mis dans votre code puis utilisez le tableau $vrdatfch comme ceci :
Extrait de la doc :
The array is a single dimension array containing six elements:
$array[0] = year (four digits)
$array[1] = month (range 01 - 12)
$array[2] = day (range 01 - 31)
$array[3] = hour (range 00 - 23)
$array[4] = min (range 00 - 59)
$array[5] = sec (range 00 - 59)
Notice that return values are zero-padded.

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 19:28
par Linox
ben j'ai lu la doc mais je ne comprend pas tout

j'en sui la sur la dernière partie du code :

Code : Tout sélectionner

For $indice = 1 to $var_Array[0]
   $vrdatfch =  FileGetTime($var_Array[$indice], 1, 1)
     MsgBox(0,"Info",$vrdatfch) 
Next
y aurait-il un moyen d'extraire les 8 premier caractére d'une variable ?

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 19:32
par jbnh
C'est pas bien compliqué enfin:

Code : Tout sélectionner

$array[1] = month (range 01 - 12)
$vrdatfch[1] affichera le mois

Code : Tout sélectionner

$array[2] = day (range 01 - 31)

$vrdatfch[2] affichera le jour

Code : Tout sélectionner

y aurait-il un moyten dextraire les 8 premier caractére d'une variable ?
Stringleft

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 20:03
par Linox
désolé mais je ne voi pas comment intégrer ca a mon code, ceci me renvoi une erreur:

Code : Tout sélectionner

For $indice = 1 to $var_Array[0]

   $vrdatfch =  FileGetTime($var_Array[$indice], 1, 1)

$vrdatfch[0] = year (four digits)
$vrdatfch[1] = month (range 01 - 12)
$vrdatfch[2] = day (range 01 - 31)
      MsgBox(0,"Info",$vrdatfch) 

Next

Re: [..] liste fichier + affiche date

Posté : ven. 07 nov. 2008 20:21
par jbnh
Allez, vaut mieux en rire qu'en pleurer :lol:

Code : Tout sélectionner

For $indice = 1 to $var_Array[0]
   $vrdatfch =  FileGetTime($var_Array[$indice], 1)
    If Not @error Then
      MsgBox(0,"Info",$vrdatfch[2]&"/"&$vrdatfch[1]&"/"&$vrdatfch[0]) 
    Endif
Next

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 06:16
par Linox
merci beaucoup c'est parfait ;) ;) ;)

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 06:33
par Linox
Donc en fait c'est un script pour trier les photos par date de création que je veut faire, j'ai presque fini:

Code : Tout sélectionner

For $indice = 1 to $var_Array[0]

   $vrdatfch =  FileGetTime($var_Array[$indice], 1)

    If Not @error Then

      If FileExists(@DesktopDir & "\Photos_triées"&"\"&$vrdatfch[2]&"-"&$vrdatfch[1]&"-"&$vrdatfch[0]) Then
      Else
         DirCreate (@DesktopDir &"\Photos_triées"&"\"&$vrdatfch[2]&"-"&$vrdatfch[1]&"-"&$vrdatfch[0])
      EndIf

      FileCopy($var_Array[$indice], @DesktopDir &"\Photos_triées"&"\"&$vrdatfch[2]&"-"&$vrdatfch[1]&"-"&$vrdatfch[0]"\", 9)

    Endif

Next
mais ca me renvoi une erreur sur cette ligne:

Code : Tout sélectionner

      FileCopy($var_Array[$indice], @DesktopDir &"\Photos_triées"&"\"&$vrdatfch[2]&"-"&$vrdatfch[1]&"-"&$vrdatfch[0]"\", 9)

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 10:54
par Tlem
@Linox :

- Il est totalement inutile de remettre l'intégralité du code si celui-ci ne change pas.
Juste la partie modifiée nous intéresse.

- Pour votre dernière question, il est normal d'avoir un message d'erreur.
Lisez ce qui est écrit dans la console de Scite et vous trouverez.
Cette question est vraiment celle de quelqu'un qui ne prend pas le temps de ce re-lire et de chercher.

J'espère que personne ne vous donnera la solution afin de vous faire réfléchir un peux (bien que en réalité il suffit de bien regarder la console de Scite pour voir exactement ou est l'erreur).

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 11:00
par Linox
ben j'ai regarder, il me dit:
erreur in expression
mais je ne voi pas l'erreur, je ne suis qu'un débutant

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 11:11
par Tlem
Linox a écrit :mais je ne voi pas l'erreur, je ne suis qu'un débutant
Hé bien justement, si vous faites déjà ce genre d'erreur au stade ou vous en êtes, et que vous n'arrivez pas à trouver une erreur aussi simple, cela montre que vous n'avez pas la technique de recherche.
Il va vous falloir chercher encore de manière à comprendre ce que vous faites, sinon vous posterez un message à chaque problème et que je sache, le but de ce forum est l'entre-aide et non le développement pour autrui.

REGARDEZ BIEN LA CONSOLE DE SCITE ET LISEZ !!!

Re: [..] liste fichier + affiche date

Posté : sam. 08 nov. 2008 11:17
par Linox
La console dont vous parler c'est bien le fenêtre ou est écrit l'erreur ?

Re: [..] Liste fichiers + affiche date

Posté : sam. 08 nov. 2008 11:27
par Tlem
Lorsque vous créez un code, dans la fenêtre de Scite, il n'y à rien dans la partie inférieure.
Lorsque vous avez exécuté un code à partir de Scite (F5), dans la partie inférieure de la fenêtre apparaît cette fameuse console.

Dans cette console vous pouvez trouver des tas de renseignements sur l'exécution de votre code (entre autre), et donc le résultat de son exécution avec les éventuel messages d'erreur.

Re: [..] Liste fichiers + affiche date

Posté : sam. 08 nov. 2008 12:49
par Linox
j'ai bien regarder et réfléchi mais je ne voi pas :(

Re: [..] Liste fichiers + affiche date

Posté : sam. 08 nov. 2008 12:58
par jbnh
Je remarque maintenant que donner la réponse toute faite peut etre que négative... Car tu le prends sans réfléchir puis te le copies/colles un peu partout sans comprendre tes erreurs etc.

C'est pourquoi en te donnant juste des indices tu devras toi même corriger cette ligne:

Code : Tout sélectionner

FileCopy($var_Array[$indice], @DesktopDir &"\Photos_triées"&"\"&$vrdatfch[2]&"-"&$vrdatfch[1]&"-"&$vrdatfch[0]"\", 9)
Indice:

Code : Tout sélectionner

Fonction ("du texte" & $unevariable & "du texte" & $unevariable & "du texte" & @unemacro)

Re: [..] Liste fichiers + affiche date

Posté : sam. 08 nov. 2008 13:02
par Linox
pourten j'ai regarder si manquer pas un & mais je n'avai rien vu, merci encore ;)