Visual C# 2008 Kochbuch



Ähnliche Dokumente
Visual C# 2008 Kochbuch

WPF Steuerelemente Listbox, ComboBox, ListView,

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Hilfe zum Warenkorb des Elektronischen Katalogs 2007 Version 1.0

Kurzanleitung: Den ersten Termin bei AnthroTermin.de veröffentlichen

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Lehrer: Einschreibemethoden

Internationales Altkatholisches Laienforum

Folgeanleitung für Fachlehrer

Biogena IMK. Individuelle Mikronährstoff Komponenten. Benutzerhandbuch. Natürlich so individuell wie Ihr Patient

Stand: Adressnummern ändern Modulbeschreibung

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Parks > Authorization Manager. Versionshinweise

Attribut-Zertifikat importieren zur Nutzung in Sign Live! CC

Einrichtung HBCI-Schlüsseldatei in VR-NetWorld-Software

Aktivierung von Makros in den Erfassungshilfen

Installationsanleitung CFM TWAIN 7.00 STI

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

NODELOCKED LIZENZ generieren (ab ST4)

Delegatesund Ereignisse

Import und Export von Übergängern

Folgeanleitung für Klassenlehrer

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Vorgehensweise bei Lastschriftverfahren

Ihre Lizenz ändern. Stand 01/2015

Whitepaper. Produkt: combit address manager/combit Relationship Manager. Erweitertes David AddIn für Tobit. combit GmbH Untere Laube Konstanz

Workflows verwalten. Tipps & Tricks

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Outlook 2000 Thema - Archivierung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Anzeige von eingescannten Rechnungen

Adminer: Installationsanleitung

INSTALLATION. Voraussetzungen

Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

Process4.biz Release Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Anleitung zur Installation von Tun EMUL 12.0

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Datenübertragung im Alliance.Net

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Verarbeitung von ZV-Dateien im Internetbanking. Inhalt. 1. Datei einlesen Datei anzeigen, ändern, löschen Auftrag ausführen...

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Installationsleitfaden kabelsafe backup professional unter MS Windows

Hier erfahren Sie, wie Sie im E-Banking DTA-Dateien übermitteln können:

Erstellen der Barcode-Etiketten:

Step by Step-Anleitung Version 1.00 vom 03. März 2009 Christian Schnettelker,

Vorabversion. Schulung am Homepage Administration und Pflege

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Kostenstellen verwalten. Tipps & Tricks

ELOoffice. Netzwerkinstallation. Software für Dokumentenmanagement und Archivierung. September ELO Digital Office GmbH.

1 BEDIENUNGSANLEITUNG

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Online Bestellsystem Bedienungsanleitung

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Eigene Seiten erstellen

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Bedienungsanleitung. LOG-Access für Windows. Version 2.70

Integration von SATA / RAID / SCSI Treibern in Windows XP Setup

Flash Videos einbinden

Abwesenheitsnotiz im Exchange Server 2010

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Hilfedatei der Oden$-Börse Stand Juni 2014

Medea3 Print-Client (m3_print)

Seriendruck mit der Codex-Software

Jürgen Bayer. MDI-Anwendungen in C#

Stand: Dokumentenverwaltung Modulbeschreibung

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Zählen von Objekten einer bestimmten Klasse

VR-NetWorld-Software: So installieren Sie das Programm

E Mail Versand mit der Schild NRW Formularverwaltung

Objektorientierte Programmierung

desk.modul : ABX-Lokalisierung

WLAN mit WPA (wpa4fh)

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

PhotoFiltre: Fotos -tauglich verkleinern

Der digitale. Workflow Workflow. [PDF-Erstellung aus CorelDraw für Windows]

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Studentische Lösung zum Übungsblatt Nr. 7

Erstellen einer digitalen Signatur für Adobe-Formulare

Dokumentenverwaltung

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

HBCI-Diskette bzw. USB-Stick unter VR-NetWorld einrichten

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Visual C# 2005 Kochbuch

AutoCAD Dienstprogramm zur Lizenzübertragung

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Datensicherung. mit. Ocster Backup Pro. it.kröger Hinweis:

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Enigmail Konfiguration

Dokumentation IBIS Monitor

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

GITS Steckbriefe Tutorial

Transkript:

Walter Doberenz, Thomas Gewinnus Visual C# 2008 Kochbuch ISBN-10: 3-446-41442-8 ISBN-13: 978-3-446-41442-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41442-6 sowie im Buchhandel.

R8.3 Alle Dateien auflisten 465 R8.3 Alle Dateien auflisten Das vorliegende Rezept demonstriert, wie man mit der GetFiles-Methode zu einem gegebenen Verzeichnis alle Unterverzeichnisse ermitteln und in einem FileInfo-Array ablegen kann. Oberfläche Ein Formular mit einer ListBox genügt. Quellcode... using System.IO; public partial class Form1 : Form Die Anzeigeprozedur wird gleich zu Beginn (im Konstruktor von Form1) aufgerufen: public Form1() InitializeComponent(); listallfiles("c:\\", listbox1); Als Parameter werden der Anzeigeprozedur das übergeordnete Verzeichnis (hier Root-Directory) und eine ListBox übergeben: public void listallfiles(string pfad, ListBox lb) Ein DirectoryInfo-Objekt anlegen: DirectoryInfo mydir = new DirectoryInfo(pfad); Array zum Speichern der Dateien anlegen: FileInfo[] myfiles; Alle im Verzeichnis enthaltenen Dateien ermitteln und das Array füllen: myfiles = mydir.getfiles(); Das Array durchlaufen und die Dateinamen zur ListBox hinzufügen: for (int i = 0; i < myfiles.length; i++) lb.items.add(myfiles[i].name);

466 Kapitel 8: Dateien/Verzeichnisse Test Alle im Verzeichnis C:\ enthaltenen Dateien werden sofort nach Programmstart aufgelistet: R8.4 Die GetFileSystemInfos-Methode verwenden Als Alternative zu den Vorgängerrezepten R8.2 und R8.3 zeigen wir hier eine weitere Möglichkeit, alle in einem Verzeichnis enthaltenen Unterverzeichnisse und Dateien aufzulisten. Oberfläche Ein Formular mit einer ListBox soll uns genügen. Quellcode... using System.IO; public partial class Form1 : Form public Form1() InitializeComponent(); Auch in diesem Testprogramm ist die Root-Directory Gegenstand der Untersuchungen: listfilesysteminfos("c:\\", listbox1); Der Anzeigemethode werden ein Verzeichnispfad und eine ListBox-Referenz übergeben: public void listfilesysteminfos(string pfad, ListBox lb)

R8.4 Die GetFileSystemInfos-Methode verwenden 467 Auch hier beginnt alles mit einem DirectoryInfo-Objekt: DirectoryInfo mydir = new DirectoryInfo(pfad); Jetzt werden alle dazugehörigen Einträge ermittelt: FileSystemInfo[] fsi = mydir.getfilesysteminfos(); Zunächst den vollständigen Verzeichnispfad anzeigen: lb.items.add(mydir.fullname);... dann alle Unterverzeichnisse und Dateien: foreach (FileSystemInfo info in fsi) lb.items.add(info.name); Test Nach Programmstart werden alle in der Root des Laufwerks C: enthaltenen Unterverzeichnisse und Dateien angezeigt:

468 Kapitel 8: Dateien/Verzeichnisse R8.5 Die Path-Klasse kennen lernen Eine Alternative zur File-Klasse ist die Path-Klasse. In diesem Rezept wollen wir einige ihrer zahlreichen (statischen) Methoden demonstrieren. Oberfläche Auch hier genügt uns (neben dem Startformular Form1) eine ListBox. Quellcode... using System.IO; public partial class Form1 : Form public Form1() InitializeComponent(); Beim Aufruf der Testmethode sind der vollständige Namen einer vorhandenen Datei und eine ListBox-Referenz zu übergeben: getinfos("c:\\temp\\test.txt", listbox1); Die Testmethode: public void getinfos(string datname, ListBox lb) lb.items.add("verzeichnis : " + Path.GetDirectoryName(datName)); lb.items.add("dateiname : " + Path.GetFileName(datName)); lb.items.add("dateiname ohne Extension : " + Path.GetFileNameWithoutExtension(datName)); lb.items.add("dateiextension : " + Path.GetExtension(datName)); lb.items.add("rootverzeichnis : " + Path.GetPathRoot(datName)); lb.items.add("temporäres Verzeichnis : " + Path.GetTempPath()); lb.items.add("neues Tempfile : " + Path.GetTempFileName()); Test Voraussetzung für einen erfolgreichen Test ist das Vorhandensein einer Datei c:\temp\test.txt.

R8.6 Verzeichnis- und Datei-Informationen gewinnen 469 HINWEIS: Vorsicht ist geboten, denn die meisten Member der Path-Klasse wirken nicht mit dem Dateisystem zusammen und überprüfen deshalb nicht, ob die durch eine Pfadzeichenfolge angegebene Datei auch tatsächlich vorhanden ist! R8.6 Verzeichnis- und Datei-Informationen gewinnen Dieses Rezept zeigt Ihnen nicht nur den Einsatz der DirectoryInfo- und FileInfo-Klasse, sondern auch weiteres nützliches Handwerkszeug, wie z.b. die sinnvolle Verknüpfung zweier ListBox- Komponenten. Oberfläche Auf Form1 platzieren wir eine TextBox-, zwei ListBox- und zwei große Label- Komponenten im 3D-Outfit (siehe Laufzeitabbildung). Quelltext... using System.IO; public partial class Form1 : Form... Globale Deklarationen auf Form1-Ebene: private string myroot = "C:/"; private string mydirname, myfilename; private const char CrLf = (char) 10; // übergeordnetes Verzeichnis // aktuelles Unterverzeichnis bzw. Datei // Zeilenumbruch Beim Laden werden zunächst alle Unterverzeichnisse von C:/ angezeigt: private void Form1_Load(object sender, EventArgs e) textbox1.text = myroot;

470 Kapitel 8: Dateien/Verzeichnisse showdirectories(); Die folgende Methode zeigt alle zu myroot untergeordneten Verzeichnisse an: private void showdirectories() DirectoryInfo[] mydirectories; // Array zum Speichern der Unterverzeichnisse Erzeugen eines neuen DirectoryInfo-Objekts, welches auf das Rootverzeichnis zeigt: DirectoryInfo mydirectory = new DirectoryInfo(myRoot); Alle Unterverzeichnisse ermitteln und abspeichern (vorher Anzeige löschen): mydirectories = mydirectory.getdirectories(); listbox1.items.clear(); Alle Verzeichnisse durchlaufen... for (int i = 0; i < mydirectories.length; i++)... und Verzeichnisnamen anzeigen: listbox1.items.add(mydirectories[i].name); Der erste Eintrag in der Verzeichnis-ListBox wird selektiert, dadurch wird das SelectedIndex- Changed-Event ausgelöst: listbox1.selectedindex = 0; Synchronisieren aller Dateien in der rechten ListBox mit dem selektierten Verzeichnis und Anzeige der Verzeichnis-Informationen: private void listbox1_selectedindexchanged(object sender, EventArgs e) DirectoryInfo mydirectory; // aktuelles Verzeichnis string dirinfo = String.Empty; FileInfo[] myfiles; // Array für alle Dateiinformationen listbox2.items.clear(); // aktuellen Inhalt löschen Neues DirectoryInfo-Objekt aufgrund des selektierten ListBox-Eintrags erzeugen: mydirname = listbox1.selecteditem.tostring() + "/"; mydirectory = new DirectoryInfo(myRoot + mydirname); Verzeichnis-Infos zusammensetzen: dirinfo += "Pfad: " + mydirectory.fullname + CrLf; dirinfo += "Erstellungsdatum: " + mydirectory.creationtime + CrLf; dirinfo += "Attribute: " + mydirectory.attributes.tostring() + CrLf; label1.text = dirinfo;

R8.6 Verzeichnis- und Datei-Informationen gewinnen 471 Alle im Verzeichnis enthaltenen Dateien dem FileInfo-Array zuweisen: try myfiles = mydirectory.getfiles(); File-Array durchlaufen und die Dateien zur ListBox hinzufügen: if (myfiles.length > 0) for (int i = 0; i < myfiles.length; i++) listbox2.items.add(myfiles[i].name); Ersten Eintrag in der Datei-ListBox selektieren, dadurch wird deren SelectedIndexChanged- Event ausgelöst: listbox2.selectedindex = 0; catch (Exception ex) MessageBox.Show(ex.Message); Zweck des folgenden Eventhandlers ist es, den Inhalt des Labels "Datei-Informationen" zu aktualisieren: private void listbox2_selectedindexchanged(object sender, EventArgs e) FileInfo myfile; string fileinf = String.Empty; Die Dateinamen zuweisen: myfilename = listbox2.selecteditem.tostring(); Neues File-Objekt erzeugen: myfile = new FileInfo(myRoot + mydirname + myfilename); Datei-Infos zusammensetzen und anzeigen: fileinf += "Verzeichnis: " + myfile.directoryname + CrLf; fileinf += "Erstellungsdatum: " + myfile.creationtime + CrLf; fileinf += "Größe: " + myfile.length + " Byte" + CrLf; fileinf += "Letzter Zugriff: " + myfile.lastaccesstime + CrLf; fileinf += "Attribute: " + myfile.attributes.tostring() + CrLf; label2.text = fileinf;

472 Kapitel 8: Dateien/Verzeichnisse Wenn Sie das übergeordnete Verzeichnis in textbox1 eingetragen haben, kann die Enter-Taste ausgewertet werden um die Eingabe abzuschließen: private void textbox1_keyup(object sender, KeyEventArgs e) if (e.keycode == Keys.Enter) myroot = textbox1.text; Mit einem kleinen Trick den letzten Slash ergänzen, falls notwendig: if (!myroot.endswith("/")) myroot += "/"; showdirectories(); Test Bei Programmstart erscheinen zunächst in der linken ListBox alle Unterverzeichnisse zur Root C:/. Klicken Sie nun auf ein Unterverzeichnis, um sich in der rechten ListBox die darin enthaltenen Dateien anzeigen zu lassen. HINWEIS: Wenn Sie sich in der Verzeichnishierarchie von oben nach unten weiterbewegen wollen, müssen Sie das Hauptverzeichnis in der TextBox per Hand ergänzen und die Eingabe mit der Enter-Taste abschließen.

R8.7 Änderungen im Dateisystem überwachen 473 Ziemlich häufig kann es aber auch (insbesondere unter den restriktiven Sicherheitseinstellungen von Windows Vista) zu folgender Fehlermeldung kommen: R8.7 Änderungen im Dateisystem überwachen Dieses Rezept zeigt, wie Sie unter Verwendung der Klasse FileSystemWatcher das Dateisystem beobachten können. Wichtige Eigenschaften sind: NotifyFilter Typ der zu überwachenden Änderung (in NotifyFilters-Enumeration enthalten, z.b. Attributes, CreationTime, DirectoryName, FileName, LastAccess, Size,...) Filter Filterzeichenfolge für die zu überwachenden Dateien EnableRaisingEvents Aktivieren der Komponente (True/False) Wichtige Ereignisse sind: Changed Datei oder Verzeichnis wurde geändert Created Datei oder Verzeichnis wurde erzeugt Deleted Datei oder Verzeichnis wurde gelöscht Renamed Datei oder Verzeichnis wurde umbenannt Oberfläche Ein Formular mit einer ListBox und einem Button soll genügen.