Mit VB6 lassen sich binäre Dateien sehr leicht Auslesen. Also können Sie z.B. die Breite und Höhe eines Bildes, oder Titel, Album, Künstler eines MP3-Files auslesen. All diese Info´s sind in jedem MP3 oder Bild immer gleich und bilden eine Struktur. Diese muss man natürlich kennen. Binäre Dateien in VB6 auslesen ist viel einfacher, schneller und besser als mit ASP. Ja sie haben richtig gehört auch mit puren ASP können Sie die oben genannten Informationen wie z.B. Kompression und Grösse eines Bildes auslesen und mehr oder weniger auch schreiben.
Welche Struktur hat die MP3 Info?
Jeder MP3-Player zeigt Ihnen an, wie ein Song heisst und vieles mehr. Das MP3Info befindet sich zum Schluss eines MP3-Files und hat die exacte Länge von 128 Bytes. Zu mindest bei der ID3v1. Inzwischen gibt es allerdings die ID3v2. Bei dieser befindet sich das Info und hat KEINE 128 Byte-Struktur!
TAG 3 Bytes
Titel 30 Bytes 
Künstler 30 Bytes 
Album 30 Bytes 
Jahr 4 Bytes 
Kommentar 30 Bytes 
Genre 1 Byte 
Das "TAG"-Element definiert den Anfang dieser Info und enthält immer den Wert "TAG". Der Rest spricht wohl für sich. mehr Infos...
http://www.pcwelt.de/tipps/software/allgemein/17399/
Für VB6 ergibt sich daraus folgende Struktur-Definition.
| Private Type MP3Info TAG As String * 3
 Titel As String * 30
 Kuenstler As String * 30
 Album As String * 30
 Jahr As String * 4
 Kommentar As String * 30
 Genre As Byte
 End Type
 | 
Mit String * 30 wird ein String mit der Länge 30 definiert usw. Und am Schluss haben wir dann unsere 128 Byte-Struktur.
Diese Struktur baue ich jetzt in das Klassen-Modul "CMP3Info" ein und schreibe die Methode SetMP3File, welche die Struktur füllt.
CMP3Info.cls
| Private Type MP3Info TAG As Str....
 Private m_MP3Info As MP3Info Private m_sFileName As String Public Sub SetMP3File(ByVal sFileName As String)Dim iFile As Integer
 Dim lInfoBegin As Long
 
 iFile = FreeFile
 ' Datei mit Binär-Mode öffnen
 Open sFileName For Binary Access Read As #iFile
 lInfoBegin = LOF(iFile) - 127
 ' MP3Info Struktur füllen
 Get #iFile, lInfoBegin, m_MP3Info
     Close #iFilem_sFileName = sFileName
 End Sub
 ' Properties einbauen umd die Information zu veräussernPublic Property Get Titel() As String
 Titel = m_MP3Info.Titel
 End Property
 Public Property Get Kuenstler() As String
 Kuenstler = m_MP3Info.Kuenstler
 End Property
 Public Prop........usw.........
 | 
Was jetzt noch fehlt ist die Struktur zu verändern um selber Titel usw zu definieren und ins MP3-File zu schreiben.
| ' MP3-Struktur verändern mit Property Lets Public Property Let Titel(ByVal par As String)
 m_MP3Info.Titel = par
 End Property
 Public Property Let Kuenstler(ByVal par As String)
 m_MP3Info.Kuenstler = par
 End Property
 ' MP3Info mit aktueller überschreiben.Public Sub WriteMP3Info()
 Dim iFile As Integer
 Dim lInfoBegin As Long
 
 iFile = FreeFile
 Open m_sFileName For Binary Access Write As #iFile
 lInfoBegin = LOF(iFile) - 127
 
 Put #iFile, lInfoBegin, m_MP3Info
     Close #iFileEnd Sub
 | 
Jetzt kann man die Klasse benutzen. 1 Form, 1 Command-Button und dann umrühren...
| Private Sub cmdMP3Info_Click() Dim sFileName As String
 Dim vBin As Variant
 sFileName = "C:myMP3File.mp3"
 
 If Not sFileName = "" Then
 Dim oMP3Info As New CMP3Info
 With oMP3Info
 .SetMP3File sFileName
 Text1.Text = .Titel
 Text2.Text = .Kuenstler
 Text3.Text = .Album
 Text4.Text = .Jahr
 Text5.Text = .Kommentar
 End With
 Set oMP3Info = Nothing
 End If
 
 End Sub
 | 
Was ist mit BitMap´s auslesen? 
Das geht ganz genauso. Nur das wir zwei Strukturen brauchen, die bereits vordefiniert über den API-Viewer zu erreichen sind. Die BitMap-Informationen stehen nicht bei den MP3´s am Schluss des Files, sondern gleich ganz am Anfang.
| Type BITMAPFILEHEADER Type BITMAPINFOHEADER
 | 
Wichtig ist die Reihenfolge zu beachten!!Und so werden die Strukuren für BitMaps gefüllt!
| iFile = FreeFile Open sFileName For Binary Access Read As #iFile
 Get #iFile, , m_BitMapHeader
 Get #iFile, , m_BitMapInfo
     Close #iFile | 
Alle Sources gibts unten zum runterladen.