vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Arbeit sparen durch "variable?" 
Autor: ModeratorDaveS (Moderator)
Datum: 19.08.08 07:57

Es gäbe sehr viele Möglichkeiten. Zuerst musst man die Daten aber verfügbar machen, da bietet sich eine Datei mit Xml an (man will das Programm nicht immer umschreiben für neue Witze). Sowas könnte im einfachen Fall so aussehen
<?xml version="1.0" encoding="utf-8"?>
<Witze>
  <Witz>
    <Kategorie>Autos</Kategorie>
    <Text>Ein Mann fährt mit seinem Wagen...</Text>
  </Witz>
  <Witz>
    <Kategorie>Blondinen</Kategorie>
    <Text>Eine Blondine fährt mit ihrem Wagen...</Text>
  </Witz>
  <Witz>
    <Kategorie>Autos</Kategorie>
    <Text>Ein Mann fährt wieder mit seinem Wagen...</Text>
  </Witz>
  <Witz>
    <Kategorie>Blondinen</Kategorie>
    <Text>Noch eine Blondine fährt mit ihrem Wagen...</Text>
  </Witz>
</Witze>
(muss man diese Datei als UTF8 abspeichern im Notepad).

Dann brauchen wir in einer Form eine ComboBox, eine TextBox und einen Button.

In Form_Load() lesen wir die Daten ein
    Dim bs1 As BindingSource
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Dim ds As New DataSet
        ds.ReadXml("F:\TestDaten\Witze.xml")
mit einem BindingSource können wir die Daten bequem filtern
        bs1 = New BindingSource(ds, "Witz")
jetzt bauen wir eine Liste mit den Kategorien

        Dim kategorien As New List(Of String)
        For Each dr As DataRow In ds.Tables("Witz").Rows
            Dim k As String = dr("Kategorie")
            If Not kategorien.Contains(k) Then
                kategorien.Add(k)
            End If
        Next
        kategorien.Sort()
und binden die Liste mit der Combo
        ComboBox1.DataSource = kategorien
 
    End Sub
(Form_Load() ist damit fertig). Wenn eine Kategorie ausgewählt wird setzen wir ein Filter für diese Kategorie
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        bs1.Filter = "Kategorie='" & ComboBox1.Text & "'"
    End Sub
und dann beim Buttonklick holen wir zufallsartig den Text für einen Witz aus dieser Kategorie
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Dim idx As Integer = Int(Rnd() * bs1.Count)
        TextBox1.Text = bs1(idx)("Text")
    End Sub
Das wäre immerhin eine einfache Lösung.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Arbeit sparen durch "variable?"1.586xajN09.08.08 00:06
Re: Arbeit sparen durch "variable?"912Christoph197209.08.08 08:15
Re: Arbeit sparen durch "variable?"1.173Julian1309.08.08 10:15
Re: Arbeit sparen durch "variable?"1.268Snoopy09.08.08 14:13
Re: Arbeit sparen durch "variable?"862xajN09.08.08 16:55
Re: Arbeit sparen durch "variable?"874xajN09.08.08 18:44
Re: Arbeit sparen durch "variable?"1.120Snoopy09.08.08 19:52
Re: Arbeit sparen durch "variable?"881Christoph197210.08.08 11:36
Re: Arbeit sparen durch "variable?"1.036xajN10.08.08 18:14
Re: Arbeit sparen durch "variable?"906xajN18.08.08 00:30
Re: Arbeit sparen durch "variable?"873ModeratorDaveS18.08.08 09:19
Re: Arbeit sparen durch "variable?"832xajN18.08.08 14:52
Re: Arbeit sparen durch "variable?"827ModeratorDaveS18.08.08 15:00
Re: Arbeit sparen durch "variable?"841xajN18.08.08 15:49
Re: Arbeit sparen durch "variable?"860ModeratorDaveS18.08.08 16:15
Re: Arbeit sparen durch "variable?"788xajN18.08.08 16:34
Re: Arbeit sparen durch "variable?"997ModeratorDaveS19.08.08 07:57
Re: Arbeit sparen durch "variable?"831xajN19.08.08 13:07
Re: Arbeit sparen durch "variable?"833ModeratorDaveS19.08.08 13:13
Re: Arbeit sparen durch "variable?"810xajN19.08.08 19:58
Re: Arbeit sparen durch "variable?"793Snoopy19.08.08 20:35
Re: Arbeit sparen durch "variable?"838ModeratorDaveS19.08.08 20:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel