[VB.NET] Datum array sorteren

Pagina: 1
Acties:
  • 127 views sinds 30-01-2008
  • Reageer

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Hoi ik kom even ergens niet uit.
Ik probeer een test verjaardagscalender script te maken.
Ik heb 1 dynamisch array gemaakt waar de Naam en datum wordt opgeslagen. (Datum heeft een datumcheck dat in een module zit).
Als ik op de knop toon drukt dan geeft ie de namen en datum keurig weer in mijn listbox. Alleen moeten de datums nog gesorteerd worden. Weet iemand hoe ik dit doe? want zodra ik probeer te sorteren geeft VB een fout omdat de namen een string waarde hebben en dat geeft conflicten met de datums.

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Gooi het in een datatable en sorteer de defaultview er van op datum.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Welke fout geeft VB.NET?
Hoe probeer je te sorteren?
Hoe heb je de datums en namen in je array opgeslagen?

kortom geef eens wat meer informatie

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
rwb schreef op 10 June 2003 @ 16:59:
Welke fout geeft VB.NET?
Hoe probeer je te sorteren?
Hoe heb je de datums en namen in je array opgeslagen?

kortom geef eens wat meer informatie
Ok hier een uitgebreid info :
Het form ziet er zo uit Afbeeldingslocatie: http://www.mpie.biz/kalender.gif.
Nadat ik de namen en datum hebt ingevuld druk ik op Toevoegen. Dit herhaal ik totdat ik genoeg namen hebt ingevoerd. Vervolgens druk op de tweede knop (Toon). Dit geeft de namen uit mijn array weer in nummer 3.

Source is als volgt :
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Public arrAantal() As gegevens.Persoon
    Private iArray As Integer

    Private Sub btnToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToevoegen.Click
        Dim p As gegevens.Persoon
        Dim check As Boolean

        p.Naam = txtNaam.Text
        p.Verjaardag.Dag = CType(txtDag.Text, Integer)
        p.Verjaardag.Maand = CType(txtMaand.Text, Integer)
        p.Verjaardag.Jaar = CType(txtJaar.Text, Integer)

        check = modDatum.CheckDatum(p.Verjaardag)
        If check = True Then
            MessageBox.Show(p.Naam & " is toegevoegd!", "Datumcontrole", MessageBoxButtons.OK)
        Else
            MessageBox.Show("De ingevoerde datum is een incorrecte datum.", "Datumcontrole", MessageBoxButtons.OK)
        End If

        iArray += 1
        ReDim Preserve arrAantal(iArray)
        arrAantal(iArray) = p

    End Sub

    Private Sub btnToon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToon.Click
        Dim p As gegevens.Persoon
        Dim prompt, Naam As String
        Dim iSort, i, Dag, Maand, xJaar, Jaar As Integer

        Me.lstWeergave.Items.Clear()

        For i = 1 To UBound(arrAantal)

            p = arrAantal(i)
            Naam = p.Naam
            Dag = p.Verjaardag.Dag
            Maand = p.Verjaardag.Maand
            Jaar = p.Verjaardag.Jaar
            prompt = Naam & vbtab & vbtab & Dag & " - " & Maand & " - " & Jaar

            Me.lstWeergave.Items.Add(prompt)
        Next i
    End Sub
   


De fout is dat ie moeilijk doet bij de vergelijking van de array met elkaar, omdat Naam een string is.

[ Voor 6% gewijzigd door mpie op 10-06-2003 17:15 ]

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Een arraylist heeft een member sort(). Misschien kan je daar eens naar kijken....

https://fgheysels.github.io/


Verwijderd

en een arraylist kan je ook met add werken
dan hoef je die redim niet
Pagina: 1