vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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: ein paar Anfängerfragen 
Autor: Christian25
Datum: 16.03.12 20:48

Ich probiere mal, das Ganze etwas zu erklären. Bringt ja auch nichts, wenn ich jetzt nur den Code hier schreibe.

Aus deiner Textdatei muss ein Objekt gemacht werden, damit man im Programm leichter damit arbeiten kann.
Bei n Dateien sind das dann später auch n Objekte (3 Dateien, 3 Objekte)

Das Objekt, dass du benötigst nennt sich Universum und ist dafür zuständig den Inhalt einer Textdatei darzustellen.

In diesem Fall wäre der Name der Klasse für dieses Objekt dann "Universum"

Public Class Universum
 
        'Nimm die übergebene Datei und parst sie
        'Speichert die gelesenen Werte in diesem Objekt ab
        Public Sub New(ByVal fileName As String)
            If String.IsNullOrEmpty(fileName) Then
                Throw New ArgumentNullException("fileName")
            End If
 
            If Not IO.File.Exists(fileName) Then
                Throw New IO.FileNotFoundException(fileName)
            End If
 
            Dim line As String
            Dim lines() As String = IO.File.ReadAllLines(fileName)
 
            For Each line In lines
                Dim cols() As String = line.Split("=")
 
                If cols.Length = 2 Then
 
                    Select Case cols(0).ToUpper.Trim()
                        Case "[UNIVERSUM]"
                            mUniversum = cols(1).Trim
                        Case "[SPIELERNAME]"
                            mSpielername = cols(1).Trim
                        Case "[METALL]"
                            mMetall = cols(1).Trim
                        Case "[KRISTALL]"
                            mKristall = cols(1).Trim
                        Case "[DEUTERIUM]"
                            mDeuterium = cols(1).Trim
                        Case "[DUNKLE MATERIE]"
                            mDunkleMaterie = cols(1).Trim
                        Case "[ENERGIE]"
                            mEnergie = cols(1).Trim
                    End Select
 
                End If
            Next
        End Sub
 
        Private mUniversum As String
        Private mSpielername As String
        Private mMetall As Integer
        Private mKristall As Integer
        Private mDeuterium As Integer
        Private mDunkleMaterie As Integer
        Private mEnergie As Integer
 
        Public ReadOnly Property Universum As String
            Get
                Return mUniversum
            End Get
        End Property
 
        Public ReadOnly Property Spielername As String
            Get
                Return mSpielername
            End Get
        End Property
 
        Public ReadOnly Property Metall As Integer
            Get
                Return mMetall
            End Get
        End Property
 
        Public ReadOnly Property Kristall As Integer
            Get
                Return mKristall
            End Get
        End Property
 
        Public ReadOnly Property Deuterium As Integer
            Get
                Return mDeuterium
            End Get
        End Property
 
        Public ReadOnly Property DunkleMaterie As Integer
            Get
                Return mDunkleMaterie
            End Get
        End Property
 
        Public ReadOnly Property Energie As Integer
            Get
                Return mEnergie
            End Get
        End Property
    End Class
Nachdem diese Grundvoraussetzung geschaffen ist, kann man mit der Klasse arbeiten und daraus Objekte erzeugen.
Einlesen geht dann folgendermaßen:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button1.Click
        Dim file As String
        Dim files() As String = IO.Directory.GetFiles("Pfad zum Verzeichnis", _
          "*.txt")
 
        'leeren der ComboBox
        ComboBox1.Items.Clear()
        'Eigenschaft des Objekts, das als Text angezeigt werden soll
        ComboBox1.DisplayMember = "Universum"
 
        For Each file In files
            'Pro Datei ein Universum Objekt erzeugen und hinzufüen
            ComboBox1.Items.Add(New Universum(file))
        Next
    End Sub
Wenn nun ein Universum selektiert wird, wird das SelectedIndexChanged Event der Combobox aufgerufen
    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As _
      System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        'Abholen des selektierten Uni Objekts (wurde vorher hinzugefügt)
        Dim uni As Universum = CType(ComboBox1.SelectedItem, Universum)
 
        'Wenn es ein Uni Objekt ist, dann Spielername anzeigen
        'Es können hier auch alle anderen Werte wieder ausgelesen werden.
        If Not uni Is Nothing Then
            TextBox1.Text = uni.Spielername
        End If
    End Sub
Viele Grüße,

Christian
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ein paar Anfängerfragen1.475SeitenAccount400016.03.12 18:23
Re: ein paar Anfängerfragen981sv0001016.03.12 19:14
Re: ein paar Anfängerfragen1.042Christian2516.03.12 20:48
Re: ein paar Anfängerfragen937SeitenAccount400017.03.12 15:27
Re: ein paar Anfängerfragen929Manfred X17.03.12 15:46
Re: ein paar Anfängerfragen973Manfred X17.03.12 07:19

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