Ich habe diese Struktur:Sortieren eine Datenbank-Struktur in Visual Basic
Module Global_Variables
Public myrecords(10) As myDatabase
Public counter As Integer = 0
Public Structure myDatabase
'creates database Structure For input data
<VBFixedString(30)> _
Dim Driver As String '30 bytes
Dim Car As Integer '4 bytes
<VBFixedString(15)> _
Dim Team As String '15 bytes
Dim Grid As Integer '4 bytes
Dim FastestLap As Double '8 bytes
Dim RaceTime As Double '4 bytes
Dim Points As Double '4 bytes
End Structure
End Module
Das Programm empfängt Daten von dem Benutzer und zeigt dann die Daten in einem Textfeld txtOutput
in einer anderen Form genannt:
myrecords(counter).Driver = driver_box.Text
myrecords(counter).Car = car_box.Text
myrecords(counter).Team = team_box.Text
myrecords(counter).Grid = grid_box.Text
myrecords(counter).FastestLap = fl_box.Text
myrecords(counter).RaceTime = rt_box.Text
myrecords(counter).Points = points_box.Text
Form_Display.txtDisplay.AppendText(myrecords(counter).Driver & " " &
myrecords(counter).Car & " " & myrecords(counter).Team & " " &
myrecords(counter).Grid & " " & myrecords(counter).FastestLap & " " &
myrecords(counter).RaceTime & " " & myrecords(counter).Points & vbCrLf)
counter = counter + 1
MsgBox("Submit success!")
Call input_box_clear()
Der Benutzer kann dann auf eine Schaltfläche klicken, um die Datensätze in aufsteigender Reihenfolge nach der schnellsten Runde zu sortieren. Wie mache ich das?
Ich habe versucht, Algorithmen wie Blase Sortierung und Auswahl sortieren, aber keiner funktionierte.
Danke
REGEL # 1 hinzufügen : Deklarieren Sie keine Strukturtypen, die größer als 16 Byte sind. Alles> 16 - deklariere eine Klasse. –
Verwenden Sie LINQ und Sie werden nie Ihren eigenen Algorithmus schreiben müssen –
Schauen Sie sich auch 'String.Format()' als eine bessere Option an, um Ihre Display-Zeichenkette zu erstellen. –