Announcement

Collapse
No announcement yet.

ArgumentOutOfRangeException

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ArgumentOutOfRangeException

    Hallo ich versuche mit gerade in vb.net. dabei habe ich ein kleines testprog. in welchem ich ein verzeichnis angebe und dort sollen mir alle dateien ohne endungen dann in einer lsue dargestell werden. die prozeduren habe ich aus einem büchlein (openbook). jedoch wird eine fehlermedlung angeben die ich im code markeirt habe
    Imports System.IO

    Public Class Form1
    Sub DateiAuflisten(ByVal strOrdner As String)
    Dim objDateien() As System.IO.FileInfo
    Dim i As Integer
    Dim strDN As String
    objDateien = New DirectoryInfo(strOrdner).GetFiles()
    For i = 0 To objDateien.GetUpperBound(0)
    strDN = objDateien(i).ToString
    strDN = strDN.Substring(0, strDN.IndexOf("."))
    Me.lstDateien.Items.Add(strDN)
    Next


    End Sub




    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim objOrdner() As System.IO.DirectoryInfo
    Dim i As Integer
    If txtDir.Text.Length = 0 Then
    MessageBox.Show("Verzeichnisname angeben")
    Else
    objOrdner = New DirectoryInfo(txtDir.Text).GetDirectories()
    For i = 0 To objOrdner.Length - 1
    DateiAuflisten(txtDir.Text & objOrdner.(i).ToString)//hier wird ein bezeichner erwartet
    Next
    End If


    Call DateiAuflisten()


    End Sub
    End Class
    Zuletzt editiert von nieselfriem; 13.09.2008, 17:39. Reason: nach änderung andere fehler

  • #2
    Was soll der Punkt hinter objOrdner?

    DateiAuflisten(txtDir.Text & objOrdner.(i).ToString)

    Gruß
    Peter

    Comment


    • #3
      gnn! hät ich von selbst drauf kommen können aber im buch stehts so drinn und anstatt mal selber zu denken hab ich einfach abgetippelt leider kommt es aber im code an der stelle
      Code:
      strDN = strDN.Substring(0, strDN.IndexOf("."))
      zu der obigen fehlermeldung
      Aus welchem Grund und wie kann ich es beheben?

      gruß niesel

      Comment


      • #4
        Originally posted by nieselfriem View Post
        jedoch wird eine fehlermedlung angeben die ich im Code markiert habe
        Oh niesel, oh niesel,

        das ist wieder mal toll. Ich hatte mich schon gewundert, warum das Topic ArgumentOutOfRangeException, die Überschrift aber Bezeichner erwartet heißt. Aber da Du die Zeile

        Code:
        DateiAuflisten(txtDir.Text & objOrdner.(i).ToString)//hier wird ein bezeichner erwartet
        markiert hattest, nahm ich an, dass es um die Fehlermeldung des Compilers geht. Deshalb meine Antwort. Wäre schon schön, wenn Du Deine Fragen etwas genauer stellen würdest.

        Naja, hier die Antwort zu Deiner "neuen" Frage.

        strDn.IndexOf(".") liefert -1, wenn strDN keinen Punkt enthält, also der Dateiname keien Extension hat. Diese -1 wird als zweiter Parameter an strDn.Substring übergeben und löst die Exception aus. Du solltest halt das Result von IndexOf prüfen, bevor Du es an SubString übergibst.

        Aus welchem Buch hast Du denn diesen Code?

        Comment


        • #5
          Sorry!
          Ich gelobe besserung!!!
          http://www.galileocomputing.de/openb...msvb060001.htm
          so im unteren drittel

          gruß niesel

          Comment

          Working...
          X