• Keine Ergebnisse gefunden

Praktikum 26./27. April 2011

N/A
N/A
Protected

Academic year: 2021

Aktie "Praktikum 26./27. April 2011"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktikum 26./27. April 2011

Jörn Loviscach

Versionsstand: 25. April 2011, 12:40

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

In diesem Praktikum soll ein Programm geschrieben werden, das anzeigt, welche Dateitypen prozentual wie viel Platz in einem angegebenen Verzeichnis belegen.

Die Zutaten im Hauptfenster sind:

• einButtonfür die Schaltfläche,

• eineCanvasfür die Zeichenfläche,

• ein System.Windows.Forms.FolderBrowserDialog für den Dialog zur Verzeichnisauswahl (unter „Verweise“ in Visual Studio System.Windows.Formshinzufügen).

Hinter den Kulissen sollen zwei Klassen arbeiten, die Sie selbst schreiben:

FileTypeundDirectoryStatistics.

Jede Instanz vonFileTypesoll für einen Dateityp wie „.txt“ oder „.jpg“ stehen.

Eine solche Instanz vonFileTypesoll helfen, die Bytezahl aller Dateien dieses Typs aufzusummieren. Ergänzen Sie im Verlauf des Praktikums nach Bedarf Attribute, Methoden und Properties für diese Klasse.

DirectoryStatistics erledigt die eigentliche Arbeit: das Einsammeln der Daten und das Erzeugen des Balkendiagramms.

Diese Klasse hat einen öffentlichen Konstruktor, der als Parameter einen Pfad zu einem Verzeichnis erhält. Der Konstruktor ruft er das vorgefertigte

(2)

new System.IO.DirectoryInfo(path) auf und holt mit dessen Methode GetFileseine Liste von Instanzen vonSystem.IO.FileInfozu den Dateien im Verzeichnis. Diese Instanzen von System.IO.FileInfo verfügen bereits über PropertiesLengthundExtension. DieExtensionist dabei eine Zeichen- kette wie „.txt“ oder „.jpg“.

Der Konstruktor soll damit in einem Attribut des TypsList<FileType>eine Liste der gefundenen Dateitypen einsammeln. Für jede Datei stellt er fest, ob deren Dateityp schon in der Liste vorhanden ist. Falls ja, erhöht er die Bytezahl in der jeweiligen Instanz von FileType entsprechend. Falls nein, legt er eine weitere Instanz vonFileTypein der Liste an.

Die Klasse DirectoryStatistics hat außerdem eine Methode, die als Parameter eine System.Windows.Controls.Canvas entgegen nimmt und dort die diversen System.Windows.Shapes.Rectangle sowie System.Windows.Controls.Label des Balkendiagramm als Kindele- mente hinzufügt. Das Balkendiagramm füllt automatisch die exakte Breite und Höhe der Canvas. Die Platzierung der Kindelemente imCanvaspassiert mit den statischen MethodenCanvas.SetLeftusw.

Ideen für Erweiterungen: Versehen Sie die Balken mit Zahlenangaben; sortieren Sie die Dateitypen alphabetisch oder nach dem Datenvolumen.

Referenzen

ÄHNLICHE DOKUMENTE

Zwangsvollstreckungssachen/ Berufungen gegen Urteile auf Vollstreckbarerklärung eines ausländischen Urteils.. 1 1

Der Sieg der Securvita ist aber nur ein Teilerfolg, denn das Gericht hatte lediglich eines entschieden: das Bundesversicherungsamt kann die Betriebskrankenkasse nicht dazu

Franz Kohnle Seite 1 von

Dies gilt insbesondere, wenn die Behandlung in den USA oder der Schweiz, aber auch in Österreich oder Großbritan- nien erfolgt, wo die Kosten das Zwei- bis Zehnfache (USA)

Die zusätzlich geforderte Be- rufserfahrung in der Gynäko- logie, Kinderheilkunde und Inneren Medizin (Tropenme- dizin) auch noch zu erlangen kann als aussichtslos angese- hen

Weil in der privaten Pflegeversicherung das bürgerliche Recht gilt, gelten hier die Vorschriften für die Abgabe von Willenserklärungen von Privatperso- nen nach dem Grundsatz

Diese Entscheidung dürfe auch versorgungsbereichsübergrei- fend nach denselben Kriterien, wie sie für die ambulan- te vertragsärztliche Versorgung maßgeblich sind, ge- troffen

Da aber auch die Aktivität c des privaten Workflows von Partner 2 von der Änderung betroffen ist und diese Aktivität bereits den Zustand COMPLETED hat, kann die private Instanz