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 - Fortgeschrittene
Re: String fixe Länge 
Autor: Martin01
Datum: 19.01.03 15:03

'>VB.NET läßt sich dadurch unterstreichen, dass man weiterhin auf die VB6-Methoden zugreift.
'Stimmt VB.NET kann es nur mit VB6-Methode(n).
'Wer heute NET-Strings super FEST machen kann, Bitte zeigen.
'Für einen String gleich einen StringBuilder, ja das ist dann schon Super XXL NET.
'
'Wenn ich 20 Feste Strings brauche?
'200 Feste Strings??
'Oder kann ms schneller verkaufen als programmieren???
'
'Wenn ich Strings Fest aus einer Datei lesen möchte:


Imports System.IO

Public Enum essStatus
ReadOk = -1
FileNotFound = 1
NoID3v1PatternsFound = 2
End Enum

Public Class ReadID3v1
' Dim r As New ReadID3v1()
' With r
' Select Case r.Read("SONG.MP3")
' Case essStatus.ReadOk
' MsgBox(.Album & vbCrLf & .Artist & vbCrLf & .Comment & vbCrLf & .Genre & vbCrLf & .Title & vbCrLf & .Track & vbCrLf & .Year)
' Case essStatus.FileNotFound
' Case essStatus.NoID3v1PatternsFound
'
' End Select
' End With

Private propTitle, propArtist, propAlbum, propComment, propTrack, propGenre As String
Private propYear As Integer

Public ReadOnly Property Title() As String
Get
Return propTitle
End Get
End Property
Public ReadOnly Property Artist() As String
Get
Return propArtist
End Get
End Property
Public ReadOnly Property Album() As String
Get
Return propAlbum
End Get
End Property
Public ReadOnly Property Year() As String
Get
Return propYear
End Get
End Property
Public ReadOnly Property Comment() As String
Get
Return propComment
End Get
End Property
Public ReadOnly Property Track() As String
Get
Return propTrack
End Get
End Property
Public ReadOnly Property Genre() As String
Get
Return propGenre
End Get
End Property

Public Function Read(ByVal FileName As String) As essStatus
If File.Exists(FileName) = False Then
Return essStatus.FileNotFound
Else

Dim MP3FileStream = New System.IO.FileStream(FileName, _
IO.FileMode.Open, System.Security.Permissions.FileIOPermissionAccess.Read)
Dim MP3FileReader = New System.IO.BinaryReader(MP3FileStream)
Dim bytes() As Byte
Dim Genre As New Genre()
MP3FileReader.BaseStream.Position = MP3FileReader.BaseStream.Seek(-128, IO.SeekOrigin.End)
bytes = MP3FileReader.ReadBytes(128)
If CopyTag(bytes, 0, 3) = "TAG" Then
propTitle = CopyTag(bytes, 3, 30).Trim
propArtist = CopyTag(bytes, 33, 30).Trim
propAlbum = CopyTag(bytes, 63, 30).Trim
propYear = CopyTag(bytes, 93, 4)
propComment = CopyTag(bytes, 97, 29).Trim

propTrack = bytes(126)
propGenre = Genre.GetGenre(bytes(127))
Else
MP3FileStream.Close()
Return essStatus.NoID3v1PatternsFound
End If
End If
Return essStatus.ReadOk
End Function

Private Function CopyTag(ByVal bytes() As Byte, ByVal start As Integer, ByVal length As Integer) As String
Dim i As Integer, ret As String

For i = start To (start + length) - 1
If bytes(i) <> 0 Then
ret &= System.Convert.ToChar(bytes(i))
End If
Next
Return ret
End Function


End Class

Public Class Genre

Private Const _sGenreMatrix As String = "Blues|Classic Rock|Country|Dance|Disco|Funk|Grunge|" & _
"Hip-Hop|Jazz|Metal|New Age|Oldies|Other|Pop|R&B|Rap|Reggae|Rock|Techno|" & _
"Industrial|Alternative|Ska|Death Metal|Pranks|Soundtrack|Euro-Techno|" & _
"Ambient|Trip Hop|Vocal|Jazz+Funk|Fusion|Trance|Classical|Instrumental|Acid|" & _
"House|Game|Sound Clip|Gospel|Noise|Alt. Rock|Bass|Soul|Punk|Space|Meditative|" & _
"Instrumental Pop|Instrumental Rock|Ethnic|Gothic|Darkwave|Techno-Industrial|Electronic|" & _
"Pop-Folk|Eurodance|Dream|Southern Rock|Comedy|Cult|Gangsta Rap|Top 40|Christian Rap|" & _
"Pop/Punk|Jungle|Native American|Cabaret|New Wave|Phychedelic|Rave|Showtunes|Trailer|" & _
"Lo-Fi|Tribal|Acid Punk|Acid Jazz|Polka|Retro|Musical|Rock & Roll|Hard Rock|Folk|" & _
"Folk/Rock|National Folk|Swing|Fast-Fusion|Bebob|Latin|Revival|Celtic|Blue Grass|" & _
"Avantegarde|Gothic Rock|Progressive Rock|Psychedelic Rock|Symphonic Rock|Slow Rock|" & _
"Big Band|Chorus|Easy Listening|Acoustic|Humour|Speech|Chanson|Opera|Chamber Music|" & _
"Sonata|Symphony|Booty Bass|Primus|Porn Groove|Satire|Slow Jam|Club|Tango|Samba|Folklore|" & _
"Ballad|power Ballad|Rhythmic Soul|Freestyle|Duet|Punk Rock|Drum Solo|A Capella|Euro-House|" & _
"Dance Hall|Goa|Drum & Bass|Club-House|Hardcore|Terror|indie|Brit Pop|Negerpunk|Polsk Punk|" & _
"Beat|Christian Gangsta Rap|Heavy Metal|Black Metal|Crossover|Comteporary Christian|" & _
"Christian Rock|Merengue|Salsa|Trash Metal|Anime|JPop|Synth Pop"

Public Function GetGenre(ByVal GenreCode As Byte) As String
Dim sGenre() As String = Split(_sGenreMatrix, "|")
Return sGenre(GenreCode)
End Function

End Class
 
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
String fixe Länge246al16.01.03 23:22
Re: String fixe Länge1.299landx17.01.03 00:45
Re: String fixe Länge127Martin0117.01.03 15:20
Re: nö1.270landx17.01.03 16:04
genau108al18.01.03 11:06
Re: String fixe Länge174Martin0119.01.03 15:03
Du brauchst gar keine feste länge....1.255Lupin19.01.03 22:12
Das gibt es in .NET1.332Vampire66620.01.03 07:51

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