Je m'adresse à vous car j'ai un problème d'affichage dans une listview. Je voudrais afficher une liste de fichiers d'un répertoire, modifiés entre deux dates, pour ce qui est de l'affichage de la liste complète des fichiers du répertoire en question, pas de soucis. Dès que j'essaye de lister les fichiers modifiés entre date de début et date de fin, aucun résultat
Voici le code de ma gui :
► Afficher le texte
Code : Tout sélectionner
;===============
;== Variables ==
;===============
#include <DateTimeConstants.au3>
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
$A = @ScriptDir & "\Fichiers"
$B = @ScriptDir & "\Traites"
;================================================
;== Début de l'Interface Graphique Utilisateur ==
;================================================
$Reprise = GUICreate ("Reprise Envoi Fichiers RUB", 280, 440)
$Group0 = GUICtrlCreateGroup ("Dossier", 10, 10, 250, 50)
GUICtrlSetFont (-1, 10, 800, 0, "Comic Sans MS")
GUICtrlSetColor (-1, 0x0000FF)
$g0_Label1 = GUICtrlCreateLabel ("Chemin : "&$A, 20, 35, 220, 20)
GUICtrlSetFont(-1, 10, 400, 0)
$Group1 = GUICtrlCreateGroup ("Selection des fichiers", 10, 70, 250, 320)
GUICtrlSetFont (-1, 10, 800, 0, "Comic Sans MS")
GUICtrlSetColor (-1, 0x0000FF)
$g1_Label1 = GUICtrlCreateLabel ("Fichiers créés entre : ", 20, 95, 150, 20)
GUICtrlSetFont (-1, 10, 400, 0)
$g1_Label2 = GUICtrlCreateLabel ("Date de Début :", 20, 120, 110, 20)
GUICtrlSetFont (-1, 10, 400, 0)
$g1_Label3 = GUICtrlCreateLabel ("Date de Fin :", 150, 120, 100, 20)
GUICtrlSetFont (-1, 10, 400, 0)
$g1_Date1 = GUICtrlCreateDate ("", 20, 140, 100, 20, $DTS_SHORTDATEFORMAT) ; correspond à la date de début de recherche
$dd = GUICtrlRead ($g1_Date1)
$add = StringRight ($dd, 4)
$mdd = StringMid ($dd, 4, 2)
$jdd = StringLeft ($dd, 2)
$dateD = $add&$mdd&$jdd ; date de début de recherche au format YYYYMMDD
$g1_Date2 = GUICtrlCreateDate ("", 150, 140, 100, 20, $DTS_SHORTDATEFORMAT) ; correspond à la date de fin de recherche
$df = GUICtrlRead ($g1_Date2)
$adf = StringRight ($df, 4)
$mdf = StringMid ($df, 4, 2)
$jdf = StringLeft ($df, 2)
$dateF = $adf&$mdf&$jdf ; date de fin de recherche au format YYYYMMDD
$g1_List1 = GUICtrlCreateListView ("Fichier | Date",20, 170, 220, 210, $LVS_SHOWSELALWAYS, $LVS_EX_CHECKBOXES) ; céation listview avec cases à cocher
_GUICtrlListView_SetColumnWidth ($g1_List1, 0, 110)
_GUICtrlListView_SetColumnWidth ($g1_List1, 1, 90)
$chemin = ($B & "\")
$search = FileFindFirstFile ($chemin & "*.*")
While 1
$file = FileFindNextFile ($search)
If @error Then ExitLoop
$t = FileGetTime ($chemin & $file, 0, 1)
$a = StringLeft ($t, 4)
$m = StringLeft (StringTrimLeft ($t, 4), 2)
$j = StringRight (StringTrimRight ($t, 6), 2)
$dateM = $a&$m&$j
$date = $j & "/" & $m & "/" & $a
If $dateM > $dateD And $dateM < $dateF Then ; comparaison date de modification fichier entre date de début et date de fin
GUICtrlCreateListViewItem ( $file & "|" & $date, $g1_List1) ; affichage de la listview
EndIf
WEnd
$Valider = GUICtrlCreateButton( "Valider", 10, 400, 100, 30, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
$Annuler = GUICtrlCreateButton ("Annuler", 160, 400, 100, 30, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUISetState(@SW_SHOW)
;=========================
;== Début du traitement ==
;=========================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Annuler
Exit
Case $Valider
GUISetState(@SW_HIDE)
$ListNb = _GUICtrlListView_GetItemCount($g1_List1)
For $i = 0 to $ListNb - 1
$ItemText = _GUICtrlListView_GetItemText($g1_List1, $i)
$ItemState = _GUICtrlListView_GetItemChecked($g1_List1, $i)
If $ItemState = 1 Then
$ItemState = "Coché"
Else
$ItemState = "Décoché"
EndIf
MsgBox(0, '', $ItemText & " est " & $ItemState)
Next
Exit
EndSwitch
WEnd


