{"id":88012016,"date":"2024-04-25T16:22:41","date_gmt":"2024-04-25T16:22:41","guid":{"rendered":"http:\/\/access-basics.de\/index.php\/88012016.html"},"modified":"2024-04-25T16:22:41","modified_gmt":"2024-04-25T16:22:41","slug":"88012016","status":"publish","type":"page","link":"https:\/\/vbentwickler.de\/88012016\/","title":{"rendered":"Visual Basic Entwickler 01\/2016"},"content":{"rendered":"<h3>Von VBA zu C#: Das Static-Schl\u00fcsselwort<\/h3>\n<p>Was bedeutet eigentlich das Schl\u00fcsselwort \u00bbstatic\u00ab, mit dem Sie sowohl Typen\/Klassen also auch die Elemente einer Klasse wie Methoden oder Eigenschaften kennzeichnen k\u00f6nnen \u2013 und was ist bei der Erstellung und  Nutzung von Typen und Elementen mit diesem Schl\u00fcsselwort zu beachten? Dies schauen wir uns im vorliegenden Artikel an und liefern einige Beispiele, welche die Regeln verdeutlichen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Von_VBA_zu_C_Das_StaticSchluesselwort\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Von VBA zu C#: Steuerelement-Ereignisse<\/h3>\n<p>Wer unter VBA Ereignisprozeduren f\u00fcr Formulare, Berichte oder Steuerelemente erstellen wollte, hatte es leicht: Einfach in der Ereigniseigenschaft den Wert [Ereignisprozedur] ausw\u00e4hlen, auf die Schaltfl\u00e4che mit den drei Punkten klicken und schon konnte man die vorgefertigte Prozedur mit Anweisungen f\u00fcllen. In manchen F\u00e4llen war das Implementieren von Ereignissen schon komplizierter, aber immer noch schnell machbar. Unter C# bekommt man dies auch meist mit wenigen Klicks hin, aber die notwendigen Handgriffe unterscheiden sich doch deutlich von denen unter VBA. Dieser Artikel zeigt, wie Sie g\u00e4ngige Varianten von Ereignisprozeduren anlegen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Von_VBA_zu_C_SteuerelementEreignisse\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Von VBA zu C#: Objekt-Ereignisse<\/h3>\n<p>Nicht nur Fenster und Steuerelemente, sondern auch Objekte, die nicht Bestandteil der Benutzeroberfl\u00e4che sind, k\u00f6nnen Ereignisse ausl\u00f6sen. Schlie\u00dflich k\u00f6nnen Sie auch selbst Klassen programmieren und diese mit Ereignishandlern versehen. Wie Sie unter C# mit diesen M\u00f6glichkeiten umgehen, zeigt dieser Artikel. Dabei schauen wir uns zun\u00e4chst an, wie Sie Ereignisse f\u00fcr Objekte auf Basis etwa der OpenFileDialog-Klasse implementieren und erstellen dann eine benutzerdefinierte Klasse mit einem Ereignishandler.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Von_VBA_zu_C_ObjektEreignisse\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Von VBA zu C#: Dateidialoge<\/h3>\n<p>Unter VBA musste man schon einigen Zusatzcode inklusive Api-Deklarationen zu seinem Projekt hinzuf\u00fcgen, um Dialoge etwa zum Ausw\u00e4hlen einer zu \u00f6ffnenden Datei, eines Verzeichnisses oder zur Angabe eines Dateinamens zum Speichern anzuzeigen. Unter .NET gibt es dazu nat\u00fcrlich eine vorgefertigte Klasse, die alle notwendigen Funktionen liefert. Der vorliegende Artikel zeigt, wie Sie diese Dialoge anzeigen und die damit ermittelten Daten nutzen k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Von_VBA_zu_C_Dateidialoge\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Delegates<\/h3>\n<p>Delegates sind Typen, denen Sie eine Methode zuweisen, die sie dann \u00fcber das Delegate ausf\u00fchren k\u00f6nnen. Ein Delegate legt dabei nur fest, welchen R\u00fcckgabewert und welche Parameter die zu verwendende Methode nutzt \u2013 Sie k\u00f6nnen dem Delegate zur Laufzeit dann beliebige Methoden zuweisen, die dieser Signatur entsprechen. Delegates ben\u00f6tigen Sie aber auch, wenn Sie Klassen mit benutzerdefinierten Ereignissen programmieren m\u00f6chten. In diesem Fall nutzen Sie ein Delegate, um die beim Eintreten des Ereignisses auszuf\u00fchrende Methode festzulegen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Delegates\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Anwendungskonfigurationsdateien<\/h3>\n<p>W\u00e4hrend Sie etwa in einer Access-Anwendung leicht die Konfigurationsdaten in einer eigens daf\u00fcr vorgesehenen Tabelle speichern k\u00f6nnen oder in einer benutzerdefinierten Text- oder XML-Datei, gibt es unter C# andere M\u00f6glichkeiten. Wie f\u00fcr alles finden Sie unter C# auch f\u00fcr das Verwalten von Konfigurationsdaten einen eigenen Namespace \u2013 in diesem Fall hei\u00dft dieser ConfigurationManager. Dieser Artikel zeigt, wie Sie damit Daten f\u00fcr Desktop-Anwendungen speichern und wieder abrufen k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Anwendungskonfigurationsdateien\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Datenzugriff mit ADO.NET, Teil 2<\/h3>\n<p>Im ersten Teil unserer Artikelreihe zum Thema ADO.NET haben wir uns angesehen, wie Sie mit dem DataReader-Objekt auf die Daten einer Tabelle zugreifen und wie Sie mit dem Command-Objekt Aktionsabfragen durchf\u00fchren k\u00f6nnen. Im vorliegenden Teil sehen wir uns an, wie Sie mit dem DataAdapter-Objekt auf die Daten einer Datenbank zugreifen und das DataSet- und das DataTable-Objekt einsetzen, um verbindungslos mit den Daten einer Datenbank zu arbeiten.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Datenzugriff_mit_ADONET_Teil_2\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Fenster mit einfachen Tabellendaten<\/h3>\n<p>Unter Access haben Sie mit wenigen Mausklicks die Daten einer Tabelle in einem Formular angezeigt \u2013 Datenherkunft festlegen, Felder aus der Feldliste in das Formular zeihen, fertig war das Formular. Unter WPF ist es erstens etwas aufwendiger, und zweitens gibt es verschiedene M\u00f6glichkeiten, dies zu realisieren. In diesem Artikel schauen wir uns die einfachste Methode an, die Daten einer einfachen Tabelle in einem Fenster anzuzeigen, in den Datens\u00e4tzen zu navigieren und \u00c4nderungen zu speichern.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Fenster_mit_einfachen_Tabellendaten\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Methodenstarter als Vorlage<\/h3>\n<p>In Ausgabe 2\/2015 haben wir unter dem Titel \u00bbExperimentieren mit der Konsole\u00ab eine Technik vorgestellt, mit der Sie die Methoden einer Klasse direkt in der Konsole auflisten und dort zur Ausf\u00fchrung ausw\u00e4hlen k\u00f6nnen. Der Nachteil war, dass Sie damit nur eine Klasse mit fest vorgegebenem Klassennamen referenzieren konnten. Dies haben wir nun erweitert: mit einer neuen \u00bbMain\u00ab-Methode, die beim Start der Anwendung aufgerufen wird und alle Methoden aller Klassen au\u00dfer der Klasse \u00bbProgram\u00ab selbst auflistet und so erm\u00f6glicht, diese zu starten.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Methodenstarter_als_Vorlage\">Zum Artikel &#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Von VBA zu C#: Das Static-Schl\u00fcsselwort Was bedeutet eigentlich das Schl\u00fcsselwort \u00bbstatic\u00ab, mit dem Sie sowohl Typen\/Klassen also auch die Elemente einer Klasse wie Methoden oder Eigenschaften kennzeichnen k\u00f6nnen \u2013 und was ist bei der<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"yst_prominent_words":[],"class_list":["post-88012016","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages\/88012016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=88012016"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages\/88012016\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=88012016"}],"wp:term":[{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=88012016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}