Dateiinformationen auslesen

Hallo,
mit dem angehängten Script kann ich die Datei-Infos auslesen. (zB. 31: Abmessungen)
Ein Problem bereitet mir die Wandlung vom ersten Array-Eintrag in Integer.
Ich möchte das Verhältnis W/H ausgeben.

Imports System.IO ’ File, Path

Public Class frmInfo

Private Sub Button1_Click _
( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'--------------------------------------------------------------------------------------------------------------------
Dim strProperties As String = GetProperties(„C:…\Bild.jpg“) oder („C:…\Video.wmv“)
Me.Label1.Text = strProperties
End Sub

Private Sub Button2_Click _
( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'--------------------------------------------------------------------------------------------------------------------
Call GetPropertiesAll(„C:…\Bild.jpg“) oder („C:…\Video.wmv“)
End Sub

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Function GetProperties (ByVal strPath As String) As String
'----------------------------------------------------------------------------------------------------------------
Try
If File.Exists(strPath) Then
Dim objShell As Object = CreateObject(„Shell.Application“)
Dim objFolder As Object = objShell.Namespace(Path.GetDirectoryName(strPath))
Dim strWH() As String
Dim dblW, dblH, dblRel As Double

For Each strFileName In objFolder.Items
Select Case IO.Path.GetExtension(strPath).ToLower
Case „.jpg“ ’ -> ist Bild…
strWH = split(objFolder.GetDetailsOf(strFileName, 31), " x ") ’ (Abmessungen) teilen

'???
dblW = Val(strWH(0)) ’ Fehler bei Wandlung zu Double ???
'???

dblH = Val(strWH(1)) ’ OK

dblRel = dblW/dblH ’ Fehler

Return strWH(0) & " - " & strWH(1) & " - " & dblRel.ToString ’ -> Rückgabe falsch

'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Dim FInfo as new FileInfo(strPath)
'Dim Img as Image = Image.FromFile(FInfo.Fullname)
'Dim Breite as Integer = Img.Width
'Dim Hoehe as Integer = Img.Height
'Dim strRatio = CStr(Breite/Hoehe) & „00“
’ Verhältnis W/H (& „00“ -> falls Ergebnis ‚n,10‘

'strRatio = strRatio.Substring(0,InStr(strRatio, „,“) + 3)
’ Verhältnis W/H mit 3 Stellen hinter Komma
'Return Breite & „/“ & Hoehe & „/“ & strRatio
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Case „.wmv“ ’ -> ist Video…
Return objFolder.GetDetailsOf(strFileName, 285).ToString & " - " & _
objFolder.GetDetailsOf(strFileName, 283).ToString & " - " & _
objFolder.GetDetailsOf(strFileName, 27).ToString
’ -> Rückgabe OK -> „W - H - nn:nn:nn“
Case Else
'…
End Select
Next
Return „“
Else
Return „Datei nicht gefunden“
End If

Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Information, „Fehler in ‚GetProperties()‘“)
Return „Fehler“
End Try
End Function

Sub GetPropertiesAll (ByVal strPath As String)
'----------------------------------------------------------------------------------------------------------------
Try
Me.Label1.Text = „“: Me.Label1.Update

If File.Exists(strPath) Then
Dim objShell As Object = CreateObject(„Shell.Application“)
Dim objFolder As Object = objShell.Namespace(Path.GetDirectoryName(strPath))

For Each strFileName In objFolder.Items
’ alle Dateien durchlaufen… (hier: nur eine)
For i = 0 to 320 ’ alle Properties durchlaufen…
With lvPS.Items.Insert(i, i) ’ Nr. des Eintrags
.SubItems.Add(objFolder.GetDetailsOf(strPath, i).ToString) ’ Bezeichnung
.SubItems.Add(objFolder.GetDetailsOf(strFileName, i).ToString) ’ Wert
End With
Next
Exit Sub
Next
Else
Me.Label1.Text = „Datei nicht gefunden“
End If

Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Information, „Fehler in ‚GetPropertiesAll()‘“)
End Try
End Sub
End Class