Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Pagina 4 van 5 EersteEerste ... 2 3 4 5 LaatsteLaatste
Weergeven resultaten 61 tot 80 van 96

Onderwerp: Cijfers sorteren in VB.net

  • Vraag is opgelost
  1. #61
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Als je het weer met een loop doet, dan wordt voor iedere textbox hetzelfde stukje code uitgevoerd.

    Je hebt bijvoorbeeld dit in je loop staan: "Msgbox("Tien aanwezig!")". En er is 1 textbox waarin een 10 staat, dan krijg je 1 keer die messagebox. Maar als er nu 2 textboxen zijn waarin een 10 staat, dan krijg je 2 keer die messagebox.

    En opnieuw scheelt dat weer een hoop typwerk...


    Geen dank voor de hulp, daarvoor is het toch immers een forum...

    Succes!


    PS: Je moet nog wel een goede code verzinnen voor in de loop... Maar dat lukt wel



    *EDIT*
    Ik heb nog even een klein vraagje: Snap je (tot nu toe) alles? Is het niet zo dat je onze oplossingen hier kopiëerd en dan inlevert?
    Helaas kan ik een paar mensen die dat zo zouden doen...
    Laatst aangepast door MartinJM : 4 april 2012 om 20:18

  2. #62
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Nope, ik kopieer niks. Snap alles, alleen de loops zijn een beetje wazig. En je bent niet de enige die een hekel heeft aan mensen die gewoon alles kopieren.
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  3. #63
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Ik ben een tijdje afwezig geweest in dit topic, maar als ik het goed begrijp moet je met een loop checken of een waarde in een array is?

    Dit kan met een For-Each loop, maar ook met de Exists-method van de array

    Quote Origineel gepost door MartinJM Bekijk Bericht
    Helaas ken ik een paar mensen die dat zo zouden doen...
    @MartinJM: Ja, daar kan ik ook over meepraten

    Maar Scandax denkt zelf actief mee aan een oplossing, dus ik ben er van overtuigd dat hij, al dan niet met behulp van onze code, zelf zijn code schrijft
    Laatst aangepast door JoZ1 : 4 april 2012 om 22:05




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  4. #64
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Ja, ik ook wel, maar ik ben liever voorzichtig dan dat achteraf iets anders blijkt...

    En het probleem zit hem er ook in dat er iets moet gebeuren voor iedere 10 die in de array staat... Dan lijkt mij een loop toch wel handiger...

    MartinJM

  5. #65
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    @MartinJM: Dan is een loop inderdaad handiger.




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  6. #66
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Heb eens geprobeerd met een loop, echter voegt hij elk item nu opnieuw toe en blijft van het sorteren vrij weinig over. Hieronder een deel van de code.

    Code:
                        Dim tien As Integer = 10
                        Dim getallen As String() = {TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text,                TextBox6.Text, TextBox7.Text, TextBox8.Text, TextBox9.Text, TextBox10.Text}
                        Array.Sort(getallen)
    
                        For Each i As String In getallen
                            ListBox1.Items.Add(i)
                        Next
    
                        For Each tien In getallen
                            ListBox1.Items.Remove("10")
                            ListBox1.Items.Add(tien)
                        Next
    Ik denk dat het mis gaat doordat ik twee keer een loop onder elkaar heb staan. Wat denken jullie hiervan, en hoe is dit probleem op te lossen?

    Trouwens, " Dim getallen as... " heb ik zeer lang gemaakt, is het nuttig om hier ook nog een loop voor te maken? Want dit werkt op zich ook goed.
    Laatst aangepast door Scandax : 5 april 2012 om 14:48
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  7. #67
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Nee, het is niet omdat je 2 loops onder elkaar hebt staan. Het is omdat hij de variable 'tien' ziet als een integer (wat het ook is). Kortom, hoe vb de 2e loop ziet is zo:

    Code:
    Voor elke Integer in de array 'getallen':
         "10" uit "listbox1" halen.
         De Integer (die opgehaald is met de eerste regel van de loop) in "listbox1" zetten.
    Volgende integer.

    Wat hieraan te doen is, is op zich simpel:
    Je maakt een nieuwe integer aan in het begin van de loop, en gebruikt die verder in de loop. In de loop check je dan eerst of die integer het getal 10 is. Als die integer het getal 10 is, dan moet er iets gebeuren:
    Code:
            Dim tien As Integer = 10
            Dim getallen() As Integer = {3, 5, 10, 2, 6}
    
            Array.Sort(getallen)
    
            For Each i As String In getallen
                ListBox1.Items.Add(i)
            Next
    
            For Each i As Integer In getallen
                If i = 10 Then
                    ListBox1.Items.Remove("10")
                    ListBox1.Items.Add(i)
                End If
            Next

    Je kan hier ook nog wat meer info vinden over loops, dan kan je ze misschien beter begrijpen: http://msdn.microsoft.com/en-us/library/5z06z1kb.aspx & http://msdn.microsoft.com/en-us/libr...=vs.80%29.aspx.
    Persoonlijk gebruik ik vaker (/altijd) de "for..next" loop en niet de "for each...next" loop, omdat ik die eerste makkelijker in gebruik vind. Misschien ook een beetje omdat ik die ook moet gebruiken in C#.


    Succes!


    *EDIT*
    Wat me nu opeens opvalt, is dat je in de eerste loop naar iedere string kijkt... Waarom niet gewoon integer? Het gaat toch alleen maar over getallen?

    Voor de loop met textboxen: Het kan wel met een loop en dat gaat waarschijnlijk ook wel lonen als je meer textboxen wilt gaan toevoegen. Maar voor nu zou ik zeggen dat het zo ook werkt.
    Laatst aangepast door MartinJM : 5 april 2012 om 15:04

  8. #68
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Dus eigenlijk staat die i in " For each i as... " gewoon voor een willekeurig getal, tenzij je er een naam aan geeft?
    Eigenlijk zijn loops dus zeer simpel in gebruik, ik vond ze er altijd een beetje ingewikkeld uit zien.

    Het programmaatje is dan nu ook klaar, heb geen andere fouten meer gevonden. Als jullie willen, kan ik het cijfer dat ik hiervoor krijg hier posten? Alleen als jullie het graag willen weten

    Hartelijk dank voor al de hulp, weer een stuk slimmer geworden afgelopen week.

    Groetjes
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  9. #69
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Wil je je project hier dan even posten, ik ben benieuwd of het cijfer dan overeenkomt met wat ik in gedachten zou hebben




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  10. #70
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Goed als ik 'm PM? Weet dat een aantal mede-leerlingen ook wel eens op het forum kijken, en wil niet het risico lopen dat ik voor fraudeur wordt aangezien .

    Hoe dan ook, kijk maar eens in de PM box

    --edit--
    Wist niet dat ik niet kon PM'en...
    e-mail?
    Laatst aangepast door Scandax : 5 april 2012 om 15:29
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  11. #71
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Hmm, ik vind het een beetje een grote code
    Ik zal even een voorbeeld(!)project voor je maken.

    Stond er in de opdracht dat je alleen getallen vanaf 1 tot 10 mocht invullen?




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  12. #72
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Alleen getallen tussen de 1 en 10 zijn toegestaan. Ik weet dat het op sommige plekken korter kan, maar het werkt
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  13. #73
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Mag ik het ook eens zien? Ik ben ook wel benieuwd

  14. #74
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Quote Origineel gepost door Scandax Bekijk Bericht
    Goed als ik 'm PM? Weet dat een aantal mede-leerlingen ook wel eens op het forum kijken, en wil niet het risico lopen dat ik voor fraudeur wordt aangezien .

    Hoe dan ook, kijk maar eens in de PM box

    --edit--
    Wist niet dat ik niet kon PM'en...
    e-mail?
    @MartinJM
    Kan ik het je ook doormailen?
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  15. #75
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Graag, je hebt mijn email (via helpmij)?

  16. #76
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Heb ik net niet kunnen vinden?? Er staat alleen "Stuur PM".
    Laatst aangepast door Scandax : 5 april 2012 om 15:49
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  17. #77
    Senior Member MartinJM's avatar
    Geregistreerd
    9 november 2008
    Locatie
    A'dam
    Dankjewel!
    Laatst aangepast door MartinJM : 5 april 2012 om 15:56

  18. #78
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Ziet er langer uit dan dat het is
    Laatst aangepast door Scandax : 5 april 2012 om 15:55
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

  19. #79
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Ik heb ff een voorbeeldprojectje gemaakt:



    Download: http://dl.dropbox.com/u/30158654/HM/...n_Sorteren.rar

    Code:

    CPP Code:
    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
    
    Private Sub Button1_Click() Handles Button1.Click
            Try
                ListBox1.Items.Clear()
                Dim Getallen As New ArrayList
                For Each row As DataGridViewRow In DataGridView1.Rows
                    Dim data As String = row.Cells(0).Value
                    If IsNumeric(data) Then
                        If data.Contains(".") Then data = data.Replace(".", ",")
                        If CDbl(data) >= 0 And CDbl(data) <= 10 Then
                            Getallen.Add(data)
                        End If
                    End If
     
                Next
     
                Getallen.Sort()
     
                Dim aant As Integer = 0
                For Each getal As Double In Getallen
                    If getal <> 10 Then ListBox1.Items.Add(getal) Else aant += 1
                Next
                For i = 1 To aant : ListBox1.Items.Add("10") : Next ''//tienen alsnog toevoegen
            Catch ex As Exception
                MsgBox(ex.ToString, 16 + 4096, "Foutmelding")
            End Try
        End Sub




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  20. #80
    Senior Member Scandax's avatar
    Geregistreerd
    1 februari 2011
    Locatie
    Roermond
    Afstand tot server
    ±103 km
    Dat is een zeer efficiënte code, en ik snap de betekenis van de code, maar zelf was ik hier nooit op gekomen.
    Met de vriendelijke groeten van Scandax
    "Do not worry about your difficulties in Mathematics. I can assure you mine are still greater." - Albert Einstein
    Twitter: @TheEijk

Pagina 4 van 5 EersteEerste ... 2 3 4 5 LaatsteLaatste

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen