|
| |

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 |  |
 | 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 |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
| |
|
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
|
|