trie sur dates

Le
Dan
Bonjour a tous.


Dans un listviever je mets en premiere colonne la date de création de mon
fichier et en segonde colonne le nom de ce fichier.
malheureusement le tri semble se faire sur jour mois an et pas sur AN
mois jour.
coment proceder pour mettre ma date sous la bonne forme dans Listviewer?

Voici mon code:

If File.Exists(Entree) Then 'Si c'est un fichier
Dim LVI As New ListViewItem
Dim Dateg = FileDateTime(chemin & TmpName)
'conversion sous forme an mois jour h mm ss
' Dim DateF = Dateg.ToString("yyyy MM d hh mm ss")

LVI.Text = Dateg.ToString 'première cellule
'ajout de la ligne
LVI.SubItems.Add((TmpName).ToString) 'seconde cellule
listbox.Items.Add(LVI)
End if

d'avance merci de votre aide
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Dan
Le #19247391
Bonjour a tous.
J'ai trouvé" la solution ,il me reste une seconde qyestion.
Sans liste viewer coment creer une teble de la liste de mes fichiers JPG
triée sur la date de création?
D"avance merci de votre aide .




"Dan" news:49fb6b94$0$291$
Bonjour a tous.


Dans un listviever je mets en premiere colonne la date de création de
mon fichier et en segonde colonne le nom de ce fichier.
malheureusement le tri semble se faire sur jour mois an et pas sur AN
mois jour.
coment proceder pour mettre ma date sous la bonne forme dans Listviewer?

Voici mon code:

If File.Exists(Entree) Then 'Si c'est un fichier
Dim LVI As New ListViewItem
Dim Dateg = FileDateTime(chemin & TmpName)
'conversion sous forme an mois jour h mm ss
' Dim DateF = Dateg.ToString("yyyy MM d hh mm ss")

LVI.Text = Dateg.ToString 'première
cellule
'ajout de la ligne
LVI.SubItems.Add((TmpName).ToString) 'seconde cellule
listbox.Items.Add(LVI)
End if

d'avance merci de votre aide


Jérémy Jeanson
Le #19260491
Bonjour Dan,

Une méthode Simple consiste à retirer l'ordoencement automatique et à
utiliser Linq pour trier ta liste.

Voici un exemple de ce qui peut être fait (dans mon exemple je liste des
fichiers du répertoire mes documents):

Dim path As String =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

Dim dir As New System.IO.DirectoryInfo(path)
Dim fichiers As IEnumerable(Of System.IO.FileInfo) = From f In
dir.GetFiles("*", IO.SearchOption.AllDirectories) _
Order By f.CreationTime _
Select f

For Each file As System.IO.FileInfo In fichiers
Dim LVI As New ListViewItem
'première cellule
LVI.Text = file.CreationTime.ToString()
'seconde cellule
LVI.SubItems.Add((file.Name).ToString)
'ajout de la ligne
ListBox.Items.Add(LVI)
Next

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Dan
Le #19265071
Salut jeremi .
Merci encore,je vais regarder mais je le suis lance dans un code
condidtant a faire un table chaque element contien la date de mon fichier
suivi du non de ce fichier,de la sort je peux trier sur la date et ensuite
recuperer ne nom de mon fichier
ca marche bien mais malfeureusement il me semble que dans le code suivant
qui me permet de recuperer tous les nom de fichier de mon repertoir le
premier fichier ne m'est pes donné,
voici mon code
For Each file In Directory.GetFiles(CHEMIN)
extension =
UCase(My.Computer.FileSystem.GetFileInfo(file).Extension)
' If FileLen(file) > 0 Then GoTo suita
If extension = ".JPG" Or extension = ".AVI" _
Or extension = ".MPEG" Or extension = ".MPG" Then
Dim Dateg = FileDateTime(file)

Dim DateF = Dateg.ToString("yyyy MM dd HHH mm ss")
Dim name As String = System.IO.Path.GetFileName(file)
totala = totala & DateF & name & ";"
End If
suita:
Next file

qu'en penses,sela doit provenir de la ligne
For Each file In Directory.GetFiles(CHEMIN)?



"Jérémy Jeanson" news:
Bonjour Dan,

Une méthode Simple consiste à retirer l'ordoencement automatique et à
utiliser Linq pour trier ta liste.

Voici un exemple de ce qui peut être fait (dans mon exemple je liste des
fichiers du répertoire mes documents):

Dim path As String =
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

Dim dir As New System.IO.DirectoryInfo(path)
Dim fichiers As IEnumerable(Of System.IO.FileInfo) = From f In
dir.GetFiles("*", IO.SearchOption.AllDirectories) _
Order By f.CreationTime _
Select f

For Each file As System.IO.FileInfo In fichiers
Dim LVI As New ListViewItem
'première cellule
LVI.Text = file.CreationTime.ToString()
'seconde cellule
LVI.SubItems.Add((file.Name).ToString)
'ajout de la ligne
ListBox.Items.Add(LVI)
Next

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Jérémy Jeanson
Le #19266731
Bonjour Dan,

Normalement non, la ligne suivante ne doit pas présenter de souci.
For Each file In Directory.GetFiles(CHEMIN)

Si tu veux en être certain utilise une variable intermédiaire pour
scruter la liste obtenue en mode debug et savoir ce qui se passe réellement.

Vu que tu semble toujours être en plein migration de Vb6 vers Vb.net
j'en profite pour te glisser un petite astuce de remplacement pour ton
test que tu as mis en commentaire :
If FileLen(file) > 0 Then GoTo suita
peut être remplacé
If FileLen(file) > 0 Then Continue For
sans utiliser détiquette ni goto
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Dan
Le #19316741
merci jérémy.
J'ai fini par trouver mais voici mon code
je recupere la date la plus petite entre la date de creation et la date de
modification.
ensuite je soustrai un certain temps cette date,ici 35 Mn.
et j'affiche cette date dans un textbox.
peut etre qu'il y aurait plus simple


Dim duration As System.TimeSpan
duration = New System.TimeSpan(0, 0, 35, 0)

Dim dmodif = Directory.GetLastWriteTime(totala(nbd))

Dim dcrea = Directory.GetCreationTime(totala(nbd))

If Directory.GetLastWriteTime(totala(nbd)) <
Directory.GetCreationTime(totala(nbd)) Then
dcrea = dmodif

End If
Dim aa = dcrea.Subtract(duration)
textdate.Text = aa
"Dan" news:49fc69da$0$292$
Bonjour a tous.
J'ai trouvé" la solution ,il me reste une seconde qyestion.
Sans liste viewer coment creer une teble de la liste de mes fichiers JPG
triée sur la date de création?
D"avance merci de votre aide .




"Dan" news:49fb6b94$0$291$
Bonjour a tous.


Dans un listviever je mets en premiere colonne la date de création de
mon fichier et en segonde colonne le nom de ce fichier.
malheureusement le tri semble se faire sur jour mois an et pas sur
AN mois jour.
coment proceder pour mettre ma date sous la bonne forme dans Listviewer?

Voici mon code:

If File.Exists(Entree) Then 'Si c'est un fichier
Dim LVI As New ListViewItem
Dim Dateg = FileDateTime(chemin & TmpName)
'conversion sous forme an mois jour h mm ss
' Dim DateF = Dateg.ToString("yyyy MM d hh mm ss")

LVI.Text = Dateg.ToString 'première
cellule
'ajout de la ligne
LVI.SubItems.Add((TmpName).ToString) 'seconde cellule
listbox.Items.Add(LVI)
End if

d'avance merci de votre aide





Publicité
Poster une réponse
Anonyme