vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: eine Zeile in txt.Datei ändern 
Autor: effeff
Datum: 28.06.17 15:47

Du willst die Textdatei als Datenbank missbrauchen.

Klüger wäre es, die Daten in einer XML-Datei zu halten. Das reicht für solche Sachen als "Datenbank" aus. Du könntest dort nach Einträgen suchen und die Werte ändern.

Beispiel: Auf einer Form namens "Form1" hast Du ein DataGridView "DataGridView1":

Public Class Form1
 
    Dim dtPunkte As New DataTable
    Dim Dateipfad As String = System.IO.Path.Combine( _
      Environment.GetEnvironmentVariable("appdata"), "Punkteverwaltung")
    Dim PunkteXML As String = System.IO.Path.Combine( _
    Environment.GetEnvironmentVariable("appdata"), "Punkteverwaltung", _
    "punkte.xml")
 
    Private Sub Form1_FormClosing(sender As Object, e As _
      System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        DataGridView1.EndEdit()
        dtPunkte.AcceptChanges()
        dtPunkte.WriteXml(PunkteXML)
    End Sub
 
 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
 
        dtPunkteInitialisieren()
 
        If Not System.IO.Directory.Exists(Dateipfad) Then
            System.IO.Directory.CreateDirectory(Dateipfad)
            dtPunkteFuellen()
        Else
            dtPunkte.ReadXml(PunkteXML)
        End If
 
        DataGridView1.DataSource = dtPunkte
 
    End Sub
 
    Private Sub dtPunkteInitialisieren()
        With dtPunkte
            Dim IDCol As DataColumn = dtPunkte.Columns.Add("ID", Type.GetType( _
              "System.Int32"))
            IDCol.AllowDBNull = False
            IDCol.Unique = True
            IDCol.AutoIncrement = True
 
            .Columns.Add("Name", Type.GetType("System.String"))
            .Columns.Add("Punkte", Type.GetType("System.Int32"))
 
            .TableName = "Punktetabelle"
 
            Dim primaryKey(1) As DataColumn
            primaryKey(1) = .Columns("ID")
            .PrimaryKey = primaryKey
 
        End With
    End Sub
 
    Private Sub dtPunkteFuellen()
 
        Dim i As Integer = 0
 
        Dim SpielerUndPunkte As String = _
          "hans=1,peter=2,ute=7,steffi=11,otte=5,han=2"
 
        Dim arrSpieler() As String = SpielerUndPunkte.Split(",")
 
        For i = 0 To UBound(arrSpieler)
            Dim arr() As String = arrSpieler(i).Split("=")
            Dim newRow As DataRow = dtPunkte.NewRow
            newRow("ID") = i
            newRow("Name") = arr(0)
            newRow("Punkte") = arr(1)
            dtPunkte.Rows.Add(newRow)
        Next
 
    End Sub
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs)
        dtPunkte.WriteXml(PunkteXML)
    End Sub
End Class

EALA FREYA FRESENA

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
eine Zeile in txt.Datei ändern2.17100tommy27.06.17 20:38
Re: eine Zeile in txt.Datei ändern919effeff27.06.17 21:16
Re: eine Zeile in txt.Datei ändern86100tommy27.06.17 21:44
Re: eine Zeile in txt.Datei ändern998effeff28.06.17 15:47
Alternative Fakten749Manfred X27.06.17 21:33

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-2024 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