Dateioperationen

FileSystemEnumerator

In diesem Beispiel wird demonstriert, wie man rekursiv Ordner und Dateien in einem bestimmten Ordner aufzählen kann. Die Aufzählung kann für gewisse Unterordner abgebrochen werden. Dadurch ist es beispielsweise möglich, alle Dateien mit Erweiterung .exe zu finden, die zwar in C:\, nicht aber in C:\WINDOWS liegen. Das vorliegende Beispiel stellt keinen Anspruch auf Vollständigkeit und optimale Geschwindigkeit, sondern soll das Konzept der Rekursion in Bezug auf den Umgang mit Dateisystemobjekten vermitteln.

Die Klasse FileSystemEnumerator stellt die Funktionalität zur Aufzählung zur Verfügung. Für jeden gefundenen Ordner wird da Ereignis DirectoryFound, für jede Datei FileFound ausgelöst. Innerhalb der Ereignisbehandlungsprozedur für das Ereignis DirectoryFound kann ein Flag gesetzt werden, das den Enumerator anweist, in diesem Ordner keine weitere Aufzählung durchzuführen.

Beispielprojekt (FileSystemEnumerator.zip)

Projekt im Visual-Basic-.NET-2003-Format.

IniLib

Die Bibliothek IniLib bietet lesenden und schreibenden Zugriff auf Windows-Initialisierungsdateien (INI-Dateien) basierend auf der Win32-API.

Beispielprojekt (IniLib.zip)

Projekt im Visual-Basic-2005-Format.

Transactions

Diese Bibliothek kapselt die unverwaltete Programmierschnittstelle des Kernel Transaction Managers (KTM) und Win32-API-Funktionen zum Zugriff auf das Dateisystem. Die bereitgestellten Methoden nutzen wahlweise den KTM oder den Distributed Transaction Coordinator (DTC) zur Transaktionsverwaltung. Ein Großteil der Operationen kann auch ohne Transaktion ausgeführt werden. Die beiliegenden Beispiele zeigen einen Teil der Funktionen der Bibliothek. Während in einem Beispiel Dateien mit Fortschrittsanzeige in separaten Threads kopiert werden, werden im anderen Beispiel Dateioperationen in einer Transaktion durchgeführt.

Beispielprojekt (Transactions.zip)

Projekt im Visual-Basic-2008-Format.