Ergebnis 1 bis 7 von 7
  1. #1
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard VB.NET Array Frage

    Hi Jungs.
    Ich beschäftige mich seid paar Tagen mit VB.NET.
    Zurzeit versuche ich einen Warezgrabber zu schreiben.
    Es funktioniert soweit Alles ganz gut.
    Nun bin ich auf die Idee gekommen den Grabber noch zu erweitern um eine Funktion die die Namen nach Hits sortiert.

    Dazu wollte ich eigentlich Array verwenden, komme aber damit nicht gut zu recht.

    Ich habe mir folgendes ausgedacht. (Weil ich es so in der Lage bin zu realisieren, hoffentlich könnt Ihr mir helfe es besser zu realisieren)
    Mit RegEx fange ich den Namen und den Hits-Wert auf.
    Das schiebe ich in eine ListBox
    Hit # Name (# - ist nur mein Trenner damit ich sortieren und abwerfen kann)
    Die Zahl formatiere ich in eine 5-Stellige Zahl damit richtig sortiert wird, nach dem Grabben sortiere ich die ListBox mit Split werfe ich die Zahlen ab.

    Nun, ich kann mir denken dass das ganze viel einfacher geht. Möglicherweise mit mehrdimensionalem Array.

    Mein Format der Daten ist zB.
    542 NameDesProgramms

    Nun sollte es dann in ein Array geladen werden und nach der Zahl sortiert werden.
    Ein Beispiel der Lösung hätte mich gefreut.
    Natürlich auch andere Möglichkeiten interessieren mich auch, allerdings glaube ich dass es mit dem Array am schnellsten gehen müsste.
    Geändert von BlackHook (29.10.2010 um 21:59 Uhr)

  2. #2

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Ich kenne mich mit VB.NET nicht aus, aber VB.NET bietet doch bestimmt die Möglichkeit einer "CustomSort"-Methode, also dass du dir eine eigene Sort-Funktion schreiben kannst und diese beim Sortieren übergeben kannst.

    Dort kannst du dann den Wert ganz bequem splitten und vergleichen. Das wäre mMn die sauberste Methode.

    Edit: http://www.vb-helper.com/howto_net_c...ort_array.html

  3. #3
    Bad Times Virus Avatar von Th3_Cr4xX
    Registriert seit
    28.07.2008
    Beiträge
    646

    Standard

    Also .NET bietet die auf jeden Fall mal die Sort-Methode, die auf dem Quicksort-Algorithmus (einer der schnellsten) basiert... Es gibt verschiedene Listen. Würde dir für Wert - Name einfach mal die Hashtable empfehlen. Ansonsten : Basics

  4. #4
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard

    Das ist nett dass Ihr mir Tipps liefert.
    Sortieren an sich ist kein Problem für mich.
    Ich habe an Array gedacht und denke immer noch dass das die richtige Richtung ist.

    Das Problem mit dem Sortieren ist also kein großes Problem.
    Natürlich werde ich auch noch googeln nach Quicksort-Algo, doch meine Interesse geht wirklich mehr in Richtung Array.

    Das hängt mit meinem Projekt zusammen.
    Ich übergebe schon ein Array an eine Funktion in anderem Thread. dieser Array sollte dann befüllt werden, sortiert natürlich auch, und dann zurückgegeben.

    Auch wenn es andere Methoden geben sollte interessiert bin ich an der Array Methode am meisten.


    EDIT:
    Oben habe ich rot markiert.
    Tips sind gut und schön. Beispiele bringen aber mehr. Keine Lösungen, die kann ich schon selbst schreiben, nur Beispiele wie man es umsetzt.
    Geändert von BlackHook (31.10.2010 um 12:20 Uhr)

  5. #5

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Also, mein erstes Posting enthält eigentlich ein gutes Beispiel, aber hier noch mal ein ganz einfaches:
    Code:
    Public Class Form1
    
        Public Class myCMPClass
            Implements IComparer
            Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
                Dim s1() As String = x.split(" ")
                Dim s2() As String = y.split(" ")
                Return Integer.Parse(s1(0)).CompareTo(Integer.Parse(s2(0)))
            End Function
        End Class
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim s(3) As String
            s(0) = "473 hallo"
            s(1) = "123 abc"
            s(2) = "54 wtf"
            s(3) = "883 hoi"
    
            Array.Sort(s, new myCMPClass)
    
            For Each t As String In s
                MessageBox.Show(t)
            Next
        End Sub
    End Class
    Das Ergebnis ist:
    54 wtf
    123 abc
    473 hallo
    883 hoi
    Beim "normalen" Sortieren wäre das Ergebnis:
    123 abc
    473 hallo
    54 wtf
    883 hoi

  6. #6
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard

    @inout
    Danke sehr. Das ist schon was brauchbares.
    Sorry dass ich deine erste Antwort nicht gründlich genug betrachtet habe, ich bin mehr oder weniger seid 2 Tagen am feiern. (Mein Geburtstag)

    Nun habe ich dein Link angeschaut, ja das ist was brauchbares.
    Für dein Beispiel-Code noch mal danke. Ich muss aber erst nüchtern werden.
    Danke erst mal. Ich melde mich noch.
    Geändert von BlackHook (30.10.2010 um 09:43 Uhr)

  7. #7
    Trojaner Avatar von Impi
    Registriert seit
    22.07.2008
    Beiträge
    69

    Standard

    Zitat Zitat von Th3_Cr4xX Beitrag anzeigen
    Also .NET bietet die auf jeden Fall mal die Sort-Methode, die auf dem Quicksort-Algorithmus (einer der schnellsten) basiert... Es gibt verschiedene Listen. Würde dir für Wert - Name einfach mal die Hashtable empfehlen. Ansonsten : Basics
    falsch! Die Laufzeit von Quicksort ist abhänig davon wie das Array beschaffen ist.
    Sollte das Array bereits sortiert sein(worst case) ist Quicksort eher uneffizient!

Ähnliche Themen

  1. Tic Tac Toe - Array als Funktionsparamterer
    Von jookerxxx im Forum C, C++
    Antworten: 8
    Letzter Beitrag: 04.09.2010, 18:12
  2. vb.net | array speichern problem
    Von hackerkevin im Forum .NET Sprachen - Techniken
    Antworten: 1
    Letzter Beitrag: 09.05.2010, 22:49
  3. [VB.NET] Array Problem mit For-Each Schleife
    Von Metropoler im Forum .NET Sprachen - Techniken
    Antworten: 2
    Letzter Beitrag: 07.08.2009, 19:15
  4. C++ Array Index auslesen
    Von Nookie im Forum C, C++
    Antworten: 3
    Letzter Beitrag: 06.08.2009, 09:19
  5. Zeichenkette aus Array
    Von Hu5eL im Forum PHP
    Antworten: 8
    Letzter Beitrag: 08.08.2008, 10:30

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •