Announcement

Collapse
No announcement yet.

auf Rechtschreibung nicht achten

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

  • auf Rechtschreibung nicht achten

    Hallo zusammen
    Wieder bion ich an meinem Explorer und der will nicht so, wie ich es will...
    also mein Problem:
    Wie kann ich bei der If-Schleife sagen, dass er auf die Rechtschreibung keine Rücksicht nehmen soll?

    Code:
    private void fe_NodeMouseDoubleClick_1(object sender, TreeNodeMouseClickEventArgs e)
            {
                try
                {
                    UrlTextBox.Text = e.Node.Text;
                    FilesUrlTextBox.Text = e.Node.Text;
                    if (e.Node.Text == "System Volume Information")
                    { }
                    else
                    {
                        string[] Files = Directory.GetFiles(e.Node.Text);
                        FileTreeView.Nodes.Clear();
                        foreach (string File in Files)
                        {
                            FileInfo FI = new FileInfo(File);
                            FileTreeView.ImageList = imageList1;
                            if (File.EndsWith(".dll"))
                            {
                                FileTreeView.Nodes.Add(FI.Name).ImageIndex = 2;
                            }
                            else
                            {
                                if (File.EndsWith(".log"))
                                {
                                    FileTreeView.Nodes.Add(FI.Name).ImageIndex = 3;
                                }
                                else
                                {
                                    if (File.EndsWith(".txt"))
                                    {
                                        FileTreeView.Nodes.Add(FI.Name).ImageIndex = 3;
                                    }
                                  }
                               }

  • #2
    deine If Schleifen sind grauenhaft. Du willst ja nur die Endung Testen. Lies dir mal die Wirkungsweise von Select Case durch. Diese Art von Schalter ist das richtige für dein Problem und auch Performanter wie dieses hässliche if Konstrukt was auch noch viel einfacher zu lösen wäre.
    Wo soll jetzt hier nicht auf Rechtschreibung geachtet werden oder wo achtet man hier auf Rechtschreibung?
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Als wichtigster Hinweis siehe if-schleife
      Originally posted by das-d View Post
      Wo soll jetzt hier nicht auf Rechtschreibung geachtet werden oder wo achtet man hier auf Rechtschreibung?
      Ich verstehe es auch überhaupt nicht. Jürgen

      Comment


      • #4
        Wenn es dir um die Groß/Kleinschreibung der Dateiendung geht, die EndsWith Methode hat auch eine Überladung mit einer StringComparision Enumeration über die man Case Insensitiv Vergleiche vorgeben kann.

        PS. "System Volume Information" ist ein Verzeichnis auf das man grundsätzlich keine Leserechte hat. Das heißt aber nicht das man alle anderen Verzeichnisse grundsätzlich lesen kann. Du solltest einfach versuchen jedes Verzeichnis zu öffnen (über Directory.GetFiles) und dann die UnauthorizedAccessException abfangen.

        Comment


        • #5
          Wenn es dir um die Groß/Kleinschreibung der Dateiendung geht,
          Darauf muss man aber auch erstmal kommen ;-)
          Christian

          Comment


          • #6
            Eigentlich habe ich nur die Gross-/Kleinschreibung gemeint...
            Kann mir jemand ein Beispiel liefern?

            Comment


            • #7
              Hallo,

              Mit ToUpper() kann man alle Buchstaben in Coßbuchstaben umwandeln, dann musst du natürlich auch den Typ mit dem du es Verglecihen willst Großschreiben.
              [highlight=c#] string[] Files = Directory.GetFiles(e.Node.Text);
              foreach (string File in Files)
              {
              if (Path.GetExtension(file).ToUpper() == ".TXT")
              {
              //...
              }
              }[/highlight]

              Gruß kurzschluss-techniker

              Ps:
              if (e.Node.Text == "System Volume Information")
              { }else
              {...
              Mit ! kann man ein boolsches Ergebnis negieren ( true -> false, false -> true)

              Comment


              • #8
                Thx das funzt ja richtig, daran habe ich nicht gedacht.
                Danke für eure Hilfe.

                Lg Methos

                Comment


                • #9
                  ja aber eines noch überarbeite bitte dein If Konstruct entweder zu einem Select Case oder zumindest als ordentliches If, Elseif, Elseif etc.
                  Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

                  Comment


                  • #10
                    Wenn wir schon bei nem Explorer sind, wie kann ich in das nächst höhere Verzeichnis gelangen ?

                    Comment


                    • #11
                      Originally posted by Methos View Post
                      Wenn wir schon bei nem Explorer sind, wie kann ich in das nächst höhere Verzeichnis gelangen ?
                      Was hat das mit "auf Rechtschreibung nicht achten" zu tun? Mein Vorschlag: Neues Problem, neue Diskussion. Jürgen

                      Comment


                      • #12
                        Hallo,
                        wie kann ich in das nächst höhere Verzeichnis gelangen ?
                        Zum Bearbeiten von (Unter)Verzeichnissen gibt es GetDirectories().
                        MfG
                        Cheat-Sheets for Developers / Programming Quotes

                        Comment

                        Working...
                        X