|
Tipp 0168
|
Dictionary als kleine Datenbank
|
|
|
Autor/Einsender: Datum: |
|
Thomas Becker 02.09.2007 |
|
Entwicklungsumgebung: |
|
VB.Net 2005 |
Framework: |
|
2.0 |
|
|
Dieser Tipp zeigt wie man kleinere Datenbestände ohne Access, SQL ect.
einfach in VB verwaltet. Hierfür eignet sich das generische
Dictionary, welches zusammenhängende Datenpaare (Schlüssel/Wert) abspeichert.
|
Der Key wirkt im Beispiel wie ein Index, arbeitet aber durch Hash besonders bei großen Datensätzen
schneller. Um den Speicherbedarf gering zu halten, ist jeder Datensatzinhalt in nur einem Value
mit doppelten Trennzeichen untergebracht. Wird ein Datensatz gebraucht, wird (über den
key) der value abgerufen und einfach auf die anzeigenden Steuerelemente
gesplittet.
|
Der Tipp zeigt außerdem, wie man mehrere TextBoxen für Schleifenverwendung vorbereitet.
|
|
|
Public Class Form1
Dim dict As New Dictionary(Of String, String)
Public aTB(0 To 6) As TextBox
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles MyBase.Load
'Dictionary füllen
dict.Add("[1830138]", "Visual Basic 2005|*Grundlagen, _
Windows Forms, ADO.NET|*Buch|*Michael Kofler|_
*3-8273-2338-X|*Addison-Wesley|*April 2006")
dict.Add("[1830139]", "Visual Basic 2005 & .NET 3.0|_
*Intern|*Buch|*Michael Werner, Boris Rieger|_
*3-8158-2599-7|*Data Becker|*Juli 2007")
dict.Add("[1830140]", "Visual Basic 2005 - Kompendium|_
*Programmieren mit dem .Net-Framework 2.0|*Buch|_
*Peter Monadjemi|*3-8272-4024-7|*Markt und Technik|_
*Juli 2006")
dict.Add("[1830141]", "Visual Basic 2005|*Das umfassende _
Handbuch|*Buch|*Andreas Kühnel|*978-3-89842-585-8|_
*Galileo Press|*Oktober 2006")
dict.Add("[1830142]", "Microsoft Visual Basic 2005|_
*Entwicklerbuch|*Buch|*Klaus Löffelmann|*3-86063-537-9|_
*Microsoft Press|*April 2006")
'Textboxen für numerische Schleifen automatisieren
aTB(0) = TextBox1
aTB(1) = TextBox2
aTB(2) = TextBox3
aTB(3) = TextBox4
aTB(4) = TextBox5
aTB(5) = TextBox6
aTB(6) = TextBox7
'Combobox mit jedem Key des Dictionary füllen
Dim entry As KeyValuePair(Of String, String)
For Each entry In dict
ComboBox1.Items.Add(entry.Key)
Next
ComboBox1.Text = ComboBox1.Items(0)
End Sub
Sub Aufteilen()
Dim Text As String = dict.Item(ComboBox1.SelectedItem)
Dim Stringarray() As String = Split(Text, "|*")
For i As Integer = 0 To 6 'durchläuft die 7 Textboxen
aTB(i).Text = Stringarray(i).ToString
Next
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles _
ComboBox1.SelectedIndexChanged
Call Aufteilen()
End Sub
Private Sub ComboBox1_Leave(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles ComboBox1.Leave
ComboBox1.Select()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
End Class
|
|
|
|
|
Windows-Version |
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
|
Download (18,3
kB)
|
Downloads bisher: [ 577 ]
|
|
|