Moin,
bin ein newbi und komme nicht mehr weiter.
Ich schreibe gerade ein Prog. (VB-Konsolenanwendung) für eine CD sammlung.
Möchte gerne das die Nummerierung der CDs automatisch erfolgt, heiß es soll die Datei öffnen die letzte Nummer heraussuchen und um eins inc.
Die Nr Vergabe soll in Lin 23 erfolgen
bin ein newbi und komme nicht mehr weiter.
Ich schreibe gerade ein Prog. (VB-Konsolenanwendung) für eine CD sammlung.
Möchte gerne das die Nummerierung der CDs automatisch erfolgt, heiß es soll die Datei öffnen die letzte Nummer heraussuchen und um eins inc.
Die Nr Vergabe soll in Lin 23 erfolgen
VB.NET-Quellcode
- Option Strict On
- Imports System.Console, System.IO
- Module Module1
- 'Die Dateinamen als Konstanten festlegen:
- Const CDsFile As String = "CDs.data"
- Const Interpreten As String = "Interpreten.dat"
- Structure TCD
- Dim Interpret_ID As Integer
- Dim Titel As String
- Dim Track_Anzahl As Integer
- End Structure
- Structure TInterpreten
- Dim Interpret_ID As Integer
- Dim Name As String
- End Structure
- 'Funktion zur Automatischen vergabe von Interpreten_ID.
- Function InterpretIDVergeben() As List(Of TCD)
- Dim fs As New IO.FileStream(CDsFile, IO.FileMode.OpenOrCreate)
- Dim CDsDatei As New IO.BinaryReader(fs)
- Dim StrucTemp As New TCD
- Dim ListTemp As New List(Of TCD)
- ListTemp.Clear()
- While CDsDatei.PeekChar > -1
- StrucTemp.Interpret_ID = CDsDatei.Read
- WriteLine(StrucTemp.Interpret_ID)
- ListTemp.Add(StrucTemp)
- End While
- CDsDatei.Close()
- fs.Close()
- fs.Dispose()
- 'Return (InterpretID)
- End Function
- 'Procedure zum Schreiben der CDListe in die Datei
- Sub CDListeToFile(ByVal CDListe As List(Of TCD))
- Dim fs As New IO.FileStream(CDsFile, IO.FileMode.OpenOrCreate)
- Dim CDsDatei As New IO.BinaryWriter(fs)
- Dim I As Integer
- For I = 0 To CDListe.Count - 1
- Try
- fs.Seek(0, SeekOrigin.End)
- CDsDatei.Write(CDListe(I).Interpret_ID)
- CDsDatei.Write(CDListe(I).Titel)
- CDsDatei.Write(CDListe(I).Track_Anzahl)
- Catch ex As Exception
- WriteLine("Fehler: " & ex.Message)
- CDsDatei.Close()
- End Try
- Next
- CDsDatei.Close()
- fs.Close()
- fs.Dispose()
- End Sub
- 'Procedure, weelche die Datei CDs ausliest und in der Konsole ausgibt
- Sub CDsAuslesen()
- Dim fs As New IO.FileStream(CDsFile, IO.FileMode.Open)
- Dim CDsDatei As New IO.BinaryReader(fs)
- Dim TestListe As TCD
- While CDsDatei.PeekChar <> -1
- TestListe.Interpret_ID = CDsDatei.ReadInt32()
- WriteLine(TestListe.Interpret_ID)
- TestListe.Titel = CDsDatei.ReadString()
- WriteLine(TestListe.Titel)
- TestListe.Track_Anzahl = CDsDatei.ReadInt32()
- WriteLine(TestListe.Track_Anzahl)
- WriteLine()
- End While
- CDsDatei.Close()
- fs.Close()
- fs.Dispose()
- End Sub
- Sub Main()
- Dim CDsListe As New List(Of TCD)
- Dim StrucCD As TCD
- Dim Interpret_ID As Integer
- Dim Entscheidung As String
- Dim templist As List(Of TCD)
- 'Interpret_ID = 0
- 'Hier werden die CD Daten eingelesen
- Do
- templist = InterpretIDVergeben()
- WriteLine()
- Write("Titel eingeben: ")
- StrucCD.Titel = ReadLine()
- WriteLine()
- Write("Track-Anzahl eingeben: ")
- StrucCD.Track_Anzahl = CInt(ReadLine())
- WriteLine()
- Write("Noch eine CD zur Liste hinzufügen (J/N)? ")
- Entscheidung = (ReadLine())
- CDsListe.Add(StrucCD)
- Loop Until (Entscheidung Like ("N") Or Entscheidung Like ("n"))
- CDListeToFile(CDsListe)
- CDsAuslesen()
- ReadLine()
- End Sub
- End Module