Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von dennisspohr
Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

habe ich gemacht :-)
Danke!

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

So, fertig:


        private bool FileMatchFilter(string file, string filter, bool ignoreCase)
        {
            if (string.IsNullOrEmpty(file))
                return true;

            if (string.IsNullOrEmpty(filter))
                return true;

            if (ignoreCase)
            {
                file = file.ToLower();
                filter = filter.ToLower();
            }

            if ((filter[0] != '*') && (!file.StartsWith(filter.Split('*')[0])))
                return false;

            if ((filter[filter.Length - 1] != '*') && (!file.EndsWith(filter.Split('*')[filter.Split('*').Length - 1])))
                return false;
            
            filter = filter.Replace("*", ".*");
            filter = filter.Replace(".", "\\.");
            filter = filter.Replace("(", "\\(");
            filter = filter.Replace(")", "\\)");
            filter = filter.Replace("[", "\\[");
            filter = filter.Replace("]", "\\]");

            Regex regex = new Regex(filter);
            return regex.IsMatch(file);
        }

:-)

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo ujr,

achso okay. Das ist schlecht :-)

Zitat
Runde und eckige Klammern sind in gültigen Dateinamen möglich und auch gar nicht so unwahrscheinlich
Stimmt, hast Recht.

Ich werde mir das Ganze mal anschauen. Vielen Dank für deine Hilfe, hast mir sehr weitergeholfen!

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo ujr,

Zitat
.Contains hilft dann nicht, wenn die einzelnen Teilstrings im Zielstring in anderer Reihenfolge auftreten, also:
Muster: *Teil1*Teil2*.txt
Dateiname: Teil3Teil2Teil1Teil0.txt

dazu sag ich nur folgendes:
Zitat
Inzwischen habe ich noch ein paar kleine Ändernungen drinne

*grins*
Zitat
der '.' muss also noch als Sonderzeichen maskiert werden
Das verstehe ich nicht. Warum muss der '.' als Sonderzeichen maskiert werden? Ein Punkt kann doch im jeden Dateinamen auftauchen.. ?
Zitat
Das beträfe natürlich auch andere Sonderzeichen wie runde und eckige Klammern
Das wird nie passieren, weil der Methode nur gültige Dateinamen übergeben werden.

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Oh mann... wofür leicht wenn's auhc schwer geht..
Für alle die das gleiche "Problem" haben wie ich, vergesst den obigen Code, schaut euch diesen an:


        private bool FileMatchFilter(string file, string filter, bool ignoreCase)
        {
            if (ignoreCase)
            {
                file = file.ToLower();
                filter = filter.ToLower();
            }

            filter = filter.Replace("*", ".*");

            Regex regex = new Regex(filter);
            return regex.IsMatch(file);
        } 

ujr ich danke dir!

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo ujr,

ich trenne den String bei einem '*', da dieses ja alles mögliche an Zeichen sein kann.
Warum sollte Contains schief laufen? Also bei mir funktioniert das Ganze. Inzwischen habe ich noch ein paar kleine Ändernungen drinne, aber nichts Großes.

Mit Regex kenne ich mich gar nicht aus.. also muss ich ein "*.txt" in ".*.txt" umwandeln? Un dann?

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich glaube ich es gerade selber hinbekommen. Bis jetzt hat es funktioniert:


        private bool FileMatchFilter(string file, string filter, bool ignoreCase)
        {
            if (ignoreCase)
            {
                file = file.ToLower();
                filter = filter.ToLower();
            }

            if (file == filter)
                return true;

            string[] searchParts = filter.Split('*');

            if ((filter[0] != '*') && (!file.StartsWith(searchParts[0])))
            {
                return false;
            }
            if ((filter[filter.Length - 1] != '*') && (!file.EndsWith(searchParts[searchParts.Length - 1])))
            {
                return false;
            }

            foreach (string searchPart in searchParts)
            {
                if (!string.IsNullOrEmpty(searchPart))
                {
                    if (!file.Contains(searchPart))
                    {
                        return false;
                    }
                }
            }

            return true;
        }

Gruß Dennis

Thema: Dateien filtern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

mit Directory.GetFiles ist es möglich, mit einem SearchPattern (z.B. *.txt) zu suchen. Etwas wie "*.txt; *.jpg" funktioniert dabei leider nicht.
Hinzu kommt, dass ich Filter wie z.B. "*hall*.*t" habe. Genauso könnte es sein, dass gerade diese gefilterten Dateien NICHT gesucht / benutzt werden sollen.

Nun meine Frage: Wie kann ich die Dateien filtern? Gibts es schon etwas vorgefertigtes in .NET? Vielleicht mit Regex?

Vielen Dank!

Gruß Dennis

Thema: Geschwindigkeit eines Brenners herausfinden
Am im Forum: Rund um die Programmierung

Ich schreibe gerade an einem backup-Tool. Dieses Tool kann inzwischen erstelle ISO-Images auf CD brennen. Nun würde ich meine ComboBox halt gerne noch mit den möglichen Geschwindigkeiten füllen.
Das Brennen mache ich mit cdrecord. Soweit ich weiß, ist es mit cdrecord aber nicht möglich, "extern" die Geschwindigkeit des Brenners zu ermittlen.

Thema: Hilfe, wo sind die Foren hin?
Am im Forum: Wünsche und Kritik

Man merkts sofort, wenn Chef nich da ist. :-)

Thema: Existiert Rechner im Netzwerk?
Am im Forum: Netzwerktechnologien

Hallo norman_timo,

ja gut, das war ja nicht der einzige Grund, nur der Ausschlag gebene.
Ich dachte es geht ein wenig sauberer, ohne einen Try-Catch-Block.

Gut, dann lass ich den Try-Catch-Block.

Vielen Dank für eure Hilfe!

Gruß Dennis

Thema: Existiert Rechner im Netzwerk?
Am im Forum: Netzwerktechnologien

Also er muss auf jeden Fall verfügbar sein -> ich muss auf die Registry zugreifen. Somit brauche ich Rechte, um auf die Registry zuzugreifen.

Wie gesagt - eine Domäne ist leider nicht der Standardfall.

Thema: Existiert Rechner im Netzwerk?
Am im Forum: Netzwerktechnologien

Ich muss auf die Registry zugreifen.

Momentan habe ich noch einen Try-Catch-Block drumherum gebastelt. Das Problem ist nur, dass falls der Rechner nicht existiert oder ich keine Rechte auf ihn habe, die Anwendung für 3-5 Sekunden einfriert. Das möchte ich verhindern. Und natürlich ist es schöner als ein Try-Catch ;-)

Thema: Existiert Rechner im Netzwerk?
Am im Forum: Netzwerktechnologien

Also, ich möchte wissen, ob er für mich verfügbar ist, ob ich Rechte habe auf ihn zuzugreifen.

Ja, eine Domäne existiert.

//edit: Eine Domäne wird allerdings nicht immer existieren.

Thema: Existiert Rechner im Netzwerk?
Am im Forum: Netzwerktechnologien

Hallo,

wisst ihr wie ich festellen kann, ob ein bestimmter Rechner im Netz existiert. Möglichst nicht pingen oder ähnliches.

Danke euch!

Gruß Dennis

Thema: Auf Arbeit: Eher Lustig locker oder professionell distanziert?
Am im Forum: Smalltalk

Moin,

Bei mir siehts ähnlich aus: bis auf den Vorstand gut 95% der Kollegen per Du.

Gruß Dennis

Thema: Geschwindigkeit eines Brenners herausfinden
Am im Forum: Rund um die Programmierung

Guten morgen!

Ich schreibe mir momentan ein kleines Brennprogramm.
Wie der Titel schon sagt - wisst ihr, wie ich die maximale Brenngeschwindikeit (bzw die Brenngeschwindikeitsstufen) eines Brenners herausfinde?

/EDIT: Achja noch ein Hinweis: bitte nichts über die NERO API, ich versuchen diese zu vermeiden.

Vielen Dank!

Gruß Dennis

Thema: SRWare Iron - Google Chrome Klon
Am im Forum: Smalltalk

Zitat
Seit Google vor drei Wochen unter großem Aufsehen seinen Web-Browser Chrome veröffentlicht hat, ist die Kritik von Seiten der Datenschützer nicht verstummt. Da Chrome jedoch auf dem Open-Source-Projekt Chromium aufbaut, steht es jedem mit genügend Zeit und Know-how frei, daraus einen nach eigenen Wünschen modifizierten Browser zu kompilieren. So hat der Software-Entwickler Stefan Ries mit seiner Firma SRWare jetzt einen Chrome-Klon namens Iron veröffentlicht, der ohne die kritisierten Funktionen des Google-Browsers auskommt.

Im Detail heißt das, dass Iron ohne den Updater, ohne Client-ID, ohne Installations-Timestamp, ohne die Suggest-Funktion, ohne die Vertipper-Hilfe bei nicht erreichbaren Webseiten, ohne die standardmäßig deaktivierte Fehlerberichterstattung und ohne das nach dem Start automatisch gesetzte Google-Cookie auskommt. Den Chromium-Lizenzbedingungen gemäß legt der Entwickler die von ihm modifizierten Quellen offen.

Was denkt ihr darüber?

Gruß Dennis

Thema: 60 Freie Controls
Am im Forum: Szenenews

Seit heute ist eine neue Verson von den KryptonControls veröffentlicht worden. Version 3.0
Unter anderem ist nun auch ein NumericUpDown vorhanden.

http://www.componentfactory.com/products_toolkit.php

Gruß Dennis

Thema: Wie seht Ihr aus?
Am im Forum: Smalltalk

Hey,

dann auch mal eins von mir

Thema: 60 Freie Controls
Am im Forum: Szenenews

Hallo tscherno,

vielen Dank für den Hinweis.

Gruß Dennis

Thema: Digitale Fotos zu einem Negativ "machen"
Am im Forum: Smalltalk

Ich habe keine analoge Kamera und eine Freundin von mir auch nicht. Allerdings macht sie ein Fotografie-Projekt in ihrem Kunstleistungskurs.
Daher kommt die Frage..

Thema: Digitale Fotos zu einem Negativ "machen"
Am im Forum: Smalltalk

Hallo GMLOD,

ich meine das Negativ als Gegenstand. Stichwort: Analoge Kameras :-)

Gruß Dennis

Thema: Digitale Fotos zu einem Negativ "machen"
Am im Forum: Smalltalk

Hallo,

es gibt einige Dienste im Internet, die analoge Fotos digitalisieren.

Gibt es so etwas eigentlich auch umgekehrt? Also digitale Fotos auf ein Negativ bringen? Könnte man so etwas vielleicht selber machen?

Fragt lieber nicht nach dem Sinn^^ :-)

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo FZelle,

vielen Dank für den Tipp. Ich werde das Tool mal ausprobieren :-)

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo Khalid,

vielen Dank für die Info.
Hört sich gut an, werde es wohl so machen.

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Hallo,

nochmal vielen Dank für eure Hilfe.

Ich denke, alle Controls zu durchlaufen ist einfach zu langsam. Das schließe ich nun aus.

Zitat
Nurmal so, du weisst, das Localization schon im FW eingebaut ist?
Ja ich weiß. Mal zu meiner Verständnis:
Ich doch bei der Localization des FW nur Controls übersetzen, keine Strings im "eigentlichen Quelltext" (z.B. MessageBoxes), oder?

Gruß Dennis

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

Aber mir bleibt wohl nichts anderes übrig, oder gibt es eine bessere Lösung?

Ich sehe gerade, dass auch simple, aber sehr wichtige Controls wie ein MenuStrips nicht funktionieren. Da die Texte der einzelnen Einträge ja im ToolStripMenuItem sind, nicht im MenuStrip selber.

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

ja, aber ich möchte ja gerade umgehen, dass ich die Ccntrols kenne. Sagen wir mal, ich weiß gar nicht, das ein DataGridView existiert...
Weißt du, was ich meine?

Thema: Auf sämtliche Komponenten der Form zugreifen
Am im Forum: GUI: Windows-Forms

root ist ein Control. Und zwar alle Controls, die ich auf der Form finde, also z.B. auch ein DataGridView.