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

  • »
  • Community
  • |
  • Diskussionsforum
Frage zur Ermittlung der aktuellsten Verzeichnisse
DonGyros
myCSharp.de - Member

Avatar #avatar-1842.jpg


Dabei seit:
Beiträge: 38

Themenstarter:

Frage zur Ermittlung der aktuellsten Verzeichnisse

beantworten | zitieren | melden

Hallo zusammen,

ich arbeite zur Zeit an einer Touchscreen-Steuerung womit ich z.B. Musik, Bilder usw. auswählen kann, sehen kann wer vor der Haustür steht wenn es klingelt usw. .

Auf der Hauptmaske werden unter anderem die neun aktuellsten/neuesten Musikverzeichnisse angezeigt. Das habe ich momentan mit einer Methode in meinem Controller gelöst:


public static ArrayList getNewAlbums()
        {
            if (newAlbums == null)
            {
                newAlbums = new ArrayList(9);
                DateTime newestDate = DateTime.MinValue;

                DirectoryInfo[] dis = GetAllDirs(@"z:\music");
                foreach (DirectoryInfo subDir in dis)
                {
                    if (subDir.GetFiles("*.mp3", SearchOption.TopDirectoryOnly).Length > 0)
                    {
                        if (newestDate < subDir.LastWriteTime)
                        {
                            newestDate = subDir.LastWriteTime;
                            if (newAlbums.Count < 9)
                            {
                                newAlbums.Insert(0, subDir);
                            }
                            else
                            {
                                newAlbums.RemoveAt(8);
                                newAlbums.Insert(0, subDir);
                            }
                        }

                    }
                }
            }
            return newAlbums;
        }
Die ArrayList wird also beim Start des Programmes initial befüllt. Danach überwache ich mittels FileSystemWatcher die Struktur und bei jedem neuen Ordner der z.B. hinzukommt, wird newAlbums angepasst.
Das Ganze scheint auch zu funktionieren allerdings kann es bei einer gewissen Anzahl von Verzeichnisse eine Weile dauern bis beim initialen Befüllen die neun aktuellsten ermittelt worden sind.
Gibt es für diese Idee vielleicht eine bessere Vorgehensweise oder könnte ich eventuell irgendwas verbessern?


Gruß, DonGyros
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo DonGyros,

da es noch kein WinFS gibt, muss man solche Informationen wirklich ermitteln, indem man über die Verzeichnisstruktur läuft.

Siehe in diesem Zusammenhang auch [FAQ] Warum blockiert mein GUI?

herbivore
private Nachricht | Beiträge des Benutzers
Borg
myCSharp.de - Member



Dabei seit:
Beiträge: 1.529
Herkunft: Berlin, Germany

beantworten | zitieren | melden

NTFS Change Journal
private Nachricht | Beiträge des Benutzers