Degeim Skrevet 19. april 2006 Del Skrevet 19. april 2006 Som tittelen sier, har jeg en listbox som inneholder datoer, og denne må sorteres. Jeg har nå følgende kode: Dim Dato As New Date Dim Dato2 As New Date For i = 0 To ListBox1.Items.Count - 1 Dato = Date.ParseExact(Replace(ListBox1.Items(i), ".", "/"), "dd/MM/yyyy", Nothing) For a = 0 To ListBox1.Items.Count - 1 Dato2 = Date.ParseExact(Replace(ListBox1.Items(a), ".", "/"), "dd/MM/yyyy", Nothing) If Dato2 < Dato Then ListBox1.Items(i) = Replace(Dato, "/", ".") ListBox1.Items(a) = Replace(Dato2, "/", ".") End If Next Next Jeg vet ikke om denne virker, da den bare returnerer "... is not av valid datetime format...", noe jeg ikke forstår, ettersom 15.04.2006, med alle "." erstattet med "/" skulle danne en ganske fin dd/MM/yyyy-dato. Hverken google, hardware-forumet, planetsourcecode eller codeproject ser ut til å ha noe, i alle fall ikke som jeg fant. Kan noen hjelpe meg med min kode, eller skaffe meg en annen måte å sortere desse datoene på? De er som sagt i formatet "dd.MM.yyyy"? Takk, Degeim Lenke til kommentar
Kirikiri Skrevet 19. april 2006 Del Skrevet 19. april 2006 Kan du kanskje la verdien være i det originale datoformatet, og bare endre på teksten som skal vises? Da slipper du å ta veien om å gjøre reformatering av datoene. Hvor får du datoene fra? Hvis du får det fra en database, kan det være greiere å hente datoene ferdig sortert. Alternativt opprett en array som du legger alle datoene i, og bruk Sort()-funksjon på denne. Se artikkel Sorting in the .NET Framework på http://www.devx.com/dotnet/Article/21089/1763/page/1 Kirikiri Lenke til kommentar
Degeim Skrevet 19. april 2006 Forfatter Del Skrevet 19. april 2006 (endret) Takk for svar. Det var en interessant artikkel, men jeg så dessverre ingenting om sortering av datoer der. Takk likevel Jeg får datoene fra en funksjon (husker ikke navnet i farten), som lister alle filer i en mappe, og de 10 første tegnene er datoen som hører til denne filen (ikke det samme som endre/opprettet eller noen av de andre greiene som du finner under egenskaper for filen, det er hvilken dato denne filen er knyttet til). Så jeg har altså funksjonen som lister alle filene, og så looper jeg gjennom alle sammen, og legger de ti første tegnene fra hver fil i listboxen. Og nei, jeg kan dessverre ikke vise dem med "/". Det må være ".". Og det er vel heller ikke her problemet ligger? Og jeg har testet array.sort før, uten resultat på datoer, men hvis du mener det kan gå, skal jeg kikke på det en gang til. Flere forslag? Takk, Degeim Endret 19. april 2006 av Degeim Lenke til kommentar
Degeim Skrevet 19. april 2006 Forfatter Del Skrevet 19. april 2006 (endret) Tro det eller ei (regner med du ikke har noen problemer med å tro det...), men det funket når jeg prøvde slik: Dim Dato(0 To ListBox1.Items.Count - 1) As Date For i = 0 To UBound(Dato) Dato(i) = ListBox1.Items(i) Next Array.Sort(Of Date)(Dato) ListBox1.Items.Clear() For i = 0 To UBound(Dato) ListBox1.Items.Add(Dato(i)) Next Tusen takk for hjelpen! Degeim Endret 19. april 2006 av Degeim Lenke til kommentar
Kirikiri Skrevet 19. april 2006 Del Skrevet 19. april 2006 Bra du fikk det til. Kirikiri Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå