• Keine Ergebnisse gefunden

Praktikum 7./8. Juni 2011

N/A
N/A
Protected

Academic year: 2021

Aktie "Praktikum 7./8. Juni 2011"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktikum 7./8. Juni 2011

Jörn Loviscach

Versionsstand: 6. Juni 2011, 21: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 mit einer Treemap visualisiert werden, wie der Speicher- platz in einem Verzeichnis verwendet wird.

Ergänzen Sie das Hauptfenster um einen Button und um eine Canvas, auf der nachher das Ergebnis erscheint. Der Button benutzt einen System.Windows.Forms.FolderBrowserDialog, um ein Verzeichnis vom Benutzer abzufragen. (Im Projekt ist für diese Klasse ein Verweis auf System.Windows.Formshinzuzufügen.) Daraufhin soll die Datenstruktur auf- gebaut werden und als Sammlung von Zeichenobjekten in dieCanvasgegeben werden.

Der Kern des Programms ist das Composite-Pattern. Dateien und Verzeichnisse werden als Leaf bzw. Composite behandelt. Sie sind konkrete Ausprägungen einer abstrakten KlasseTreemapComponent. Diese Klasse verfügt über ein Attribut vom Typlong, das das Datenvolumen in Bytes angibt. Sie verfügt außerdem über folgende abstrakte Methode:

public abstract void AddToCanvas

(System.Windows.Controls.Canvas canvas, System.Windows.Rect rect, bool vertical);

Diese Methode soll das aktuelle Element und seine Unterelemente in einem Aus- schnittrectdercanvasplatzieren. Die boolesche Variableverticalgibt an, ob die Elemente auf der aktuellen Ebene von links nach rechts oder aber von oben

(2)

nach unten zu stapeln sind. Die Anordnung eine Ebene darunter ist dann in der jeweils anderen Richtung.

Der Konstruktor für die Composite-Klasse – sie stellt Verzeichnisse dar – nimmt einSystem.IO.DirectoryInfound eine Ganzzahllevelsentgegen. Er geht die Dateien und die Verzeichnisse desSystem.IO.DirectoryInfodurch, ruft die entsprechenden Konstruktoren auf und merkt sich die so entstehenden Objekte und ihre Gesamtzahl an Bytes. Der Wert vonlevelsdient als Abbruchbedingung für die so entstehende Rekursion.

Die MethodeAddToCanvasder Composite-Klasse geht die Unterelemente durch, berechnet ein passendesSystem.Windows.Rectfür jedes Unterelement und ruft dann die MethodeAddToCanvas des Unterelements auf. Anschließend er- zeugt sie mit einemSystem.Windows.Shapes.Rectangleeinen Rahmen.

Die Methode AddToCanvas der Leaf-Klasse erzeugt ein gefülltes System.Windows.Shapes.Rectangle in der angegebenen Größe. Des- sen Farbe vom Typ System.Windows.Media.Color wird mit Hilfe von Randomzufällig gewählt. Setzen Sie dazu die PropertyFilldes Rechtecks auf eine neu konstruierteSystem.Windows.Media.SolidColorBrush.

Zusatzaufgabe: Zeigen Sie – wie im Screenshot auf der ersten Seite – in einem Labelan, welcher Dateiname zu dem Rechteck gehört, über dem der Mauszeiger gerade schwebt. Benutzen Sie dazu das Ereignis MouseMoveder Canvasund erweitern Sie die Klassen um passende Attribute, Properties und Methoden.

Referenzen

ÄHNLICHE DOKUMENTE

Das Wasser wurde durch Glühen (5 Minuten lang) des lufttrocknen Gesteins über der Deville'schen Lampe bestimmt.. auch das letztere bestimmt. Diese Bestirnmungsweise

Auf der nächsthöheren Stufe, auf welcher die Bataillons- und Abteilungskommandanten ausgebildet werden, zeigt sich wiederum die gleiche Unterteilung des Lehrstoffes in zwei

5 Parallelenpostulat: Wenn eine gerade Linie beim Schnitt mit zwei geraden Linien bewirkt, dass die innen auf derselben Seite entstehenden Winkel zusammen kleiner als zwei Rechte

Das Verfahren selbst kann darüber hi- naus als Analyse-Instrument genutzt werden, um sich auch selbst einen Überblick über die Schwer- punkte des eigenen Unterrichts verschaffen: Wenn

Bei Krebspatienten wurde in einer kleinen Studie fest- gestellt, dass Fasten während 48 bis 140 Stunden vor Beginn einer Chemotherapie im Vergleich zu Nichtfasten die Neben-

die Studien von Michael Hartmann zur Eliteforschung (1997) oder denjenigen Teil der Sozialstrukturfor- schung, der mit der Mode der Lebensstilanalyse nicht automatisch die

H., HILGENFELD.J.: Eine Methode zur direkten Bestim- mung des Kreatinins im Serum und Harn ohne Enteiweißung nach einer modifizierten Jaffe-Methode. W.: Creatinine

Aus Definition 3.2 folgt sofort, dass eine Funktion f genau dann nach unten halbstetig ist, wenn −f nach oben halbstetig ist.. Allgemeiner kann man nach unten (oben) halbstetig auch