Klassen. 3.1 Was Sie in diesem Kapitel erwartet. 3.2 Allgemeines

Größe: px
Ab Seite anzeigen:

Download "Klassen. 3.1 Was Sie in diesem Kapitel erwartet. 3.2 Allgemeines"

Transkript

1

2 3 Klassen 3.1 Was Sie in diesem Kapitel erwartet In diesem Kapitel erfahren Sie, was Klassen sind und warum man diese überhaupt einsetzen sollte. Es soll gleichzeitig etwas Werbung für das Konzept der Klassenprogrammierung betrieben werden. Ein Beispiel zeigt, wie man Steuerelemente dynamisch in eine Userform und ein Tabellenblatt einfügt und wie man mit den Ereignissen dieser Steuerelemente umgeht. Dazu sind Klassen nämlich unerlässlich. 3.2 Allgemeines Klassen bilden die Grundlage der objektorientierten Programmierung. Sie kapseln die Funktionalität von Objekten, machen den Code übersichtlicher und man kann den übergeordneten Programmablauf besser verstehen. Wenn Sie Codeteile besitzen, die Sie immer wieder benutzen, sollten Sie auf jeden Fall eine eigene Klasse dafür anlegen, auch wenn Ihnen das anfangs etwas umständlich vorkommt. Die Vorteile sind enorm und je häufiger Sie selbst Klassen schreiben und einsetzen, umso mehr werden Sie davon überzeugt sein. Der wohl größte Vorteil ist der, dass Sie mit einer Klasse ein kompaktes, wiederverwendbares Objekt mit Eigenschaften und Methoden besitzen und beim Einsatz dieser Klasse nicht mehr wissen müssen, wie die Funktionalität überhaupt implementiert wurde. Es reicht, wenn Sie deren Eigenschaften, Methoden und Funktionen kennen. Arbeiten Sie im Team, müssen Sie gemeinsam lediglich die öffentlichen Eigenschaften und Methoden der Klassen festlegen. Die anderen Programmierer können anschließend die von Ihnen geschriebenen Klassen benutzen, ohne dass sie sich mit dem Code auseinandersetzen müssen, der dahintersteht. Für 101

3 3 Klassen andere ist also Ihre Klasse eine Blackbox, vergleichbar mit einem Fernseher oder DVD-Player. Bei diesen Geräten muss man auch nicht unbedingt wissen, wie sie funktionieren, um sie benutzen zu können. Vielleicht stellt es sich irgendwann einmal heraus, dass sich in Ihre Klasse ein Fehler eingeschlichen hat. Dann brauchen Sie nicht in jeder Anwendung, die diese Klasse benutzt, den Code anzupassen. Sie tauschen in den betroffenen Arbeitsmappen lediglich die fehlerhafte Klasse gegen eine fehlerfreie aus. Auch Erweiterungen der Klasse sind ohne Weiteres möglich und beeinflussen die bestehenden Anwendungen nicht, wenn die vorhandenen Eigenschaften und Methoden beibehalten werden. Finden Sie später Möglichkeiten, bestimmte Eigenschaften und Methoden der Klasse effizienter zu gestalten, nur zu. Es hat keine negativen Auswirkungen auf die Anwendungen, die sich der Klasse bedienen. Sie können auch auf einfache Art einen Schreibschutz für bestimmte Eigenschaften verwirklichen, indem Sie die Prozeduren Property Let und Property Set ganz einfach weglassen. Sie können sogar mithilfe von Klassen benutzerdefinierte Typen nachbilden, die im Gegensatz zu den normalen Typen eine gewisse Eigenintelligenz besitzen. Denkbar wären dann beispielsweise Typen, die in verschiedenen Ländern mit unterschiedlichen Maßeinheiten eingesetzt werden können und notwendige Umrechnungen intern durchführen. Übrigens beruhen nahezu alle Objekte, die Sie in Excel benutzen, auf Klassen. Wenn Sie den Objektkatalog öffnen (Abbildung 3.1), werden Sie Hunderte verschiedener Objektklassen vorfinden. Abbildung 3.1 Klassen im Objektkatalog 102

4 Instanzierung 3.3 Instanzierung Klassen sind keine fertigen Objekte, sie sind quasi die Schablonen dazu. Erst durch die Instanzierung werden daraus reale Objekte, mit denen man auch etwas anfangen kann. Diese Schablone kann beliebig oft verwendet werden und jedes erzeugte Objekt ist dabei unabhängig von allen anderen und besitzt einen eigenen Satz von internen Variablen. Eine Instanz einer Klasse kann man auf zwei Wegen anlegen: 1. Verwenden der Dim-Anweisung zusammen mit New Dim myclass As New clstest 2. Mit der Dim-Anweisung eine Objektvariable anlegen, mit»set Objektvariable = New Klasse«ein Objekt erstellen und gleichzeitig der Objektvariablen zuweisen Dim myclass As clstest Set myclass = New clstest Der Unterschied zwischen beiden Varianten ist der Zeitpunkt, ab dem das Objekt tatsächlich existiert. Bei der ersten Variante wird das Objekt erst bei einem Zugriff auf eine Methode oder Eigenschaft angelegt. Bei der zweiten Methode wird das Objekt bereits bei der Set-Anweisung zum Leben erweckt. 3.4 Eigenschaften und Methoden Für jede Eigenschaft benötigen Sie bis zu drei Property-Prozeduren, eine öffentliche Variable oder eine Funktion bzw. Prozedur. Die Property-Prozeduren stellen also lediglich eine mögliche Schnittstelle zur Außenwelt der Klasse dar und werden beim Setzen und Lesen ausgeführt. Sie sind also nicht unbedingt mit öffentlichen Variablen vergleichbar. Beim Auslesen einer Eigenschaft wird die Get-, beim Setzen die Let- und beim Setzen von Objekten die Set-Prozedur ausgeführt. Wenn Sie für eine Eigenschaft den Schreibschutz benötigen, lassen Sie einfach die Property-Prozeduren Let Set weg. Für jede Eigenschaft, die über eine Property-Prozedur gesetzt und ausgelesen wird, benötigen Sie zudem noch eine klassenweit gültige Variable, welche die Werte aufnimmt und für die gesamte Lebensdauer der Klasseninstanz speichert. In der Ereignisprozedur Class_Initialize können Sie diese Variablen initialisieren, also mit Werten vorbelegen. Diese Ereignisprozedur wird beim Anlegen der Klasseninstanz ausgeführt. Achtung Tipp Sie sollten die Property-Prozeduren so anpassen, dass diese ausschließlich den Datentyp der internen Variablen aufnehmen und zurückgeben, defaultmäßig wird nämlich eine Property mit dem Datentyp Variant erzeugt. 103

5 3 Klassen Für Methoden können Sie öffentliche Prozeduren oder Funktionen verwenden. Was Sie letztendlich verwenden, bleibt Ihnen überlassen. Eine Funktion bietet sich beispielsweise dann an, wenn als Rückgabewert der Erfolg einer Aktion signalisiert werden soll. 3.5 Ereignisprozeduren mit WithEvents Eine weitere wichtige Eigenschaft von Klassen ist, dass sie Ereignisse auslösen und auch Ereignisse von Objekten, die mit WithEvents deklariert wurden, empfangen können. In Klassenmodulen von UserForms oder Tabellenblättern stehen Ihnen schon vordefinierte Ereignisprozeduren zur Verfügung. Wenn Sie dort Objekte einfügen, können Sie auch deren Ereignisse benutzen. Wollen Sie aber zum Beispiel Schaltflächen dynamisch in Userforms einfügen, das heißt während der Laufzeit und nicht während der Entwicklungszeit, haben Sie das Problem, dass Ereignisprozeduren nicht als Arrays ausgeführt werden können. Sie benötigen also für jedes Objekt eine eigene Ereignisprozedur. Mit WithEvents und einer Klasse können Sie das ohne programmgesteuertes Einfügen von Code realisieren. Das Konzept ist anfangs nicht einfach zu verstehen, wenn man es aber ein paar Mal durchgespielt hat, ist es gar nicht mehr so schwer Dynamische Kontrollkästchen im Tabellenblatt An folgendem Beispiel, das Schritt für Schritt aufgebaut wird, kann man sich die Vorgehensweise am besten verdeutlichen. Es sollen programmgesteuert Kontrollkästchen (Checkboxen) in ein Tabellenblatt eingefügt werden und die Klickereignisse empfangen und ausgewertet werden: 1. Sie legen fest, von welchem Objekttypen Sie ein Ereignis empfangen wollen. Wir nehmen an, dass es sich dabei um eine CheckBox von MSForms handeln soll. 2. Fügen Sie zu Ihrem Projekt eine Klasse hinzu, als Name dafür wird hier clssheetevent vergeben. 3. Im Deklarationsbereich dieser Klasse legen Sie eine öffentliche Objektvariable des gewünschten Objekttyps an, in diesem Fall MSForms.CheckBox und zwar mit dem Schlüsselwort WithEvents. Das Schlüsselwort WithEvents legt fest, dass dieses Objekt in dieser Klasse ein Ereignis (Event) empfangen kann. Public WithEvents objcheckbox As MSForms.CheckBox 4. Im Deklarationsbereich der Klasse legen Sie eine weitere Objektvariable an. In diesem von außen übergebenen Objekt soll später eine Prozedur aufgerufen werden. Private mobjowner As Object 104

6 Ereignisprozeduren mit WithEvents 5. Der Objektvariablen mobjowner muss man von außen ein Objekt zuweisen können, also legt man dafür eine Eigenschaftsprozedur (Property) an. Da es sich um ein Objekt handelt, muss man Property Set benutzen. Public Property Set Owner(ByVal vnewvalue As Object) Set mobjowner = vnewvalue End Property 6. Jetzt erstellen Sie in der Klasse die Ereignisprozedur des Objekts. Das Ereignis ist dabei durch einen Unterstrich vom Objekt getrennt. Die angelegte Prozedur wird in diesem Fall durch das Ändern der mit der Objektvariablen objcheckbox verbundenen CheckBox ausgeführt. In dieser Prozedur rufen Sie die Zielprozedur mycheckbox_klickevent des als mobjowner übergebenen Objekts auf und übergeben dabei noch den Status der Checkbox. Private Sub objcheckbox_change() ' Klickevent des Buttons On Error Resume Next ' Eine öffentliche Prozedur in der als Owner übergebenen ' Klasse ausführen mobjowner.mycheckbox_klickevent objcheckbox 7. Fügen Sie das Objekt, das ein Ereignis auslösen soll, in ein Tabellenblatt ein. 8. Legen Sie im Klassenmodul des Tabellenblatts eine öffentliche Prozedur an, die bei einem Ereignis aufgerufen werden soll. Public Sub mycheckbox_klickevent(strvalue As String) 9. In einer Prozedur erstellen Sie für jede Checkbox in dem Tabellenblatt eine neue Instanz der Klasse clscheckbox. Damit die Instanz nicht nach dem Beenden der Prozedur gelöscht wird, hat man vorher eine Collection auf Klassenebene deklariert, der man die Instanz als neues Element übergibt. Während der Lebensdauer der Collection, also bis die Codezeile Set mycol = New Collection oder Set mycol = Nothing ausgeführt wird, bleibt die hinzugefügte Klasseninstanz am Leben. Die Eigenschaft Owner der angelegten Klasse bekommt einen Verweis auf das eigene Tabellenblatt. Und hier der zusammenhängende Code der Klasse mit dem Namen clssheet- Event: ' Auf CD Beispiele\03_Klassen_VBA\ ' Dateiname 03_01_Events.xlsm ' Modul clssheetevent Listing 3.1 Code der Klasse clssheetevent 105

7 3 Klassen Listing 3.1 (Forts.) Code der Klasse clssheetevent 'Events von diesem Objekt können hier ausgeführt werden Public WithEvents objcheckbox As MSForms.CheckBox 'Objektvariable zur Aufnahme einer Referenz Private mobjowner As Object Private Sub objcheckbox_change() ' Changeevent der Checkbox On Error Resume Next ' Eine öffentliche Prozedur in der als Owner übergebenen ' Klasse ausführen mobjowner.mycheckbox_klickevent objcheckbox Public Property Set Owner(ByVal vnewvalue As Object) ' Besitzer übergibt eine Referenz auf das Objekt, ' damit dort eine Prozedur aufgerufen werden kann Set mobjowner = vnewvalue End Property In das Klassenmodul eines Tabellenblatts: Listing 3.2 Code des Klassenmoduls des Tabellenblatts Events ' Auf CD Beispiele\03_Klassen_VBA\ ' Dateiname 03_01_Events.xlsm ' Tabelle Durchlaufen von Auflistungen Option Explicit ' Collection, damit die Objekte am Leben bleiben Private mobjevents As Collection Private mobjcheck As clssheetevent Public Sub mycheckbox_klickevent(objcheck As Object) ' Diese öffentliche Prozedur wird von jeder geladenen ' Klasse clstestevents nach einem Klick aufgerufen ' Meldung ausgeben With objcheck MsgBox.Name & vbcrlf & _ "Wert = " & objcheck.value End With Public Sub MakeEvents() Dim x As OLEObject Set mobjevents = New Collection For Each x In Me.OLEObjects ' Alle Ole-Objekte durchlaufen If TypeName(x.Object) = "CheckBox" Then ' Es handelt es sich um eine Checkbox ' Neue Ereignisklasse anlegen 106

8 Ereignisprozeduren mit WithEvents Set mobjcheck = New clssheetevent ' Zu überwachendes Objekt übergeben Set mobjcheck.objcheckbox = x.object ' Tabellenblatt übergeben Set mobjcheck.owner = Me ' Zur Collection hinzufügen, damit Klassen ' am Leben bleiben mobjevents.add mobjcheck Listing 3.2 (Forts.) Code des Klassenmoduls des Tabellenblatts Events Next End If Private Sub cmdaddevents_click() MakeEvents Private Sub cmdremoveall_click() Dim x As OLEObject For Each x In Me.OLEObjects ' Alle Ole-Objekte durchlaufen Next If TypeName(x.Object) = "CheckBox" Then ' Checkboxen löschen x.delete End If Private Sub cmdaddcheck_click() ' Checkbox hinzufügen Me.OLEObjects.Add ClassType:="Forms.CheckBox.1", _ Top:=(Me.OLEObjects.Count - 4) * 30, Left:=200, _ Width:=100, Height:=30 Die Klick-Ereignisprozedur der Schaltfläche cmdaddevents dient dafür, für jedes auf dem Tabellenblatt vorhandene Kontrollkästchen eine eigene Klasseninstanz anzulegen. Dazu wird die Prozedur MakeEvents aufgerufen. Die Klick-Ereignisprozedur cmdremoveall_click löscht alle vorhandenen Kontrollkästchen auf dem Tabellenblatt. Die Klick-Ereignisprozedur der Schaltfläche cmdaddcheck fügt auf dem Tabellenblatt ein neues Kontrollkästchen hinzu Ereignisprozeduren in Userforms Nachfolgend ein Beispiel zum dynamischen Einfügen von Buttons in Userforms und zum Empfangen des Klickereignisses in einer Klasse. In der Klasse wiederum kann man ein Ereignis auslösen, welches dann in der Besitzerklasse ausgeführt wird. 107

9 3 Klassen Erst einmal der Code der Klasse clsbuttonevents: Listing 3.3 Code der Klasse clsbuttonevents ' Auf CD Beispiele\03_Klassen_VBA\ ' Dateiname 03_01_Events.xlsm ' Modul clsbuttonevents ' Events von diesem Objekt können hier ausgeführt werden Public WithEvents objcommandbutton As MSForms.CommandButton ' Dieses Event kann in anderen Klassen ausgelöst werden Public Event KlickEvent(strName As String) ' Objektvariable zur Aufnahme einer Referenz Private mobjowner As Object Private Sub objcommandbutton_click() ' Klickevent des Buttons On Error Resume Next ' Eine öffentliche Prozedur in der als Owner übergebenen ' Userform ausführen mobjowner.mybutton_klickevent objcommandbutton.name ' Event in der Besitzerklasse auslösen und ' Name übergeben RaiseEvent KlickEvent(objCommandButton.Name) Public Property Set Owner(ByVal vnewvalue As Object) ' Besitzer übergibt eine Referenz auf die Userform, 'damit dort eine Prozedur aufgerufen werden kann Set mobjowner = vnewvalue End Property Hier folgt der Code, der in das Klassenmodul einer Userform gehört. In diese Userform gehört noch ein Button mit dem Namen cmdcreatenew. Listing 3.4 Code der Userform ufeventbutton ' Auf CD Beispiele\03_Klassen_VBA\ ' Dateiname 03_01_Events.xlsm ' Userform ufeventbutton ' Anzahl der UserForms Private lngcontrolcount As Long ' Y Position der Userform Private lngypos As Long ' Der gemeinsame Namensteil der Buttons Private Const ButtonName = "cmduserdefined" ' Collection, damit die Objekte am Leben bleiben Public objevents As New Collection 108

10 Ereignisprozeduren mit WithEvents ' Objektvariable anlegen und festlegen, dass Ereignisse ' empfangen werden können Private WithEvents objbutton As clstestevents Listing 3.4 (Forts.) Code der Userform ufeventbutton Private Sub AddCommand() ' Anzahl der Buttons speichern lngcontrolcount = lngcontrolcount + 1 ' Mehr als vier Buttons wollen wir nicht If lngcontrolcount > 4 Then Exit Sub ' Neues Klassenobjekt anlegen Set objbutton = New clstestevents ' Referenz auf die Userform übergeben Set objbutton.owner = Me ' Button anlegen Set objbutton.objcommandbutton = _ Me.Controls.Add _ ("Forms.CommandButton.1", _ ButtonName & Format(lngControlCount, "000")) ' Position und Name festlegen With objbutton.objcommandbutton.top = lngypos.caption = "Testbutton " & lngcontrolcount End With lngypos = lngypos + 25 'Klassenobjekte im Speicher halten objevents.add objbutton Public Sub objbutton_klickevent(strobjektname As String) ' Nur das letzte Klassenobjekt feuert dieses ' Event, denn objbutton hält nur eine Referenz auf ' den letzten Button. Man bräuchte für jedes Objekt ' solch eine Ereignisprozedur, also auch mehrere ' Objektvariablen. Arrays sind nicht erlaubt. MsgBox strobjektname,, "Ereignisprozedur" Public Sub mybutton_klickevent(strobjektname As String) 'Diese öffentliche Prozedur wird von jeder geladenen 'Klasse clstestevents nach einem Klick aufgerufen Dim lngindex As Long 'Steuerelementindex extrahieren lngindex = CLng(Right(strObjektname, 3)) 109

11 3 Klassen Listing 3.4 (Forts.) Code der Userform ufeventbutton 'Meldung ausgeben MsgBox strobjektname & " "Öffentliche Prozedur" Nummer :" & lngindex,, _ Private Sub cmdcreatenew_click() AddCommand Abbildung 3.2 Userform ufeventbutton Die Funktionalität der Userform Bei einem Klick auf den Button cmdcreatenew wird die Prozedur AddCommand aufgerufen. Wenn bereits mehr als vier Buttons angelegt wurden, wird diese aber sofort wieder verlassen. Die auf Klassenebene angelegte Objektvariable objbutton nimmt anschließend mit Set und New eine neue Instanz der Klasse clsbuttonevents auf. Da diese mit dem Schlüsselwort WithEvents deklariert wurde, können Ereignisse des damit verbundenen Objekts empfangen werden. Anschließend kann man eine Objektreferenz der Userform an die soeben instanzierte Klasse übergeben. Damit wird erreicht, dass die Klasse eine öffentliche Prozedur der Userform aufrufen kann. Zum Einfügen eines Buttons wird die Add-Methode der Controls-Auflistung in der Userform benutzt. Gleichzeitig bekommt die Klasse über die als öffentlich deklarierte Variable objcommandbutton eine Objektreferenz auf den soeben hinzugefügten Button. In der Klasse clsbuttonevents ist diese Variable mit WithEvents deklariert worden, also kann dort das Objekt Ereignisse auslösen. Anschließend wird die Position des Buttons festgelegt, ich erhöhe aber jeweils nur die Y-Position. Würde man an dieser Stelle einfach so die Prozedur beenden, hätte man beim nächsten Einfügen eines Buttons ein Problem. Legt man nämlich mit Set und New eine neue Instanz der Klasse clstestevents an und weist sie der Objektvariablen objbutton zu, wird die ältere, mit der Objektvariablen verbundene Klasseninstanz aus dem Speicher gelöscht. 110

12 Ereignisprozeduren mit WithEvents Also benutzt man eine klassenweit gültige Collection und fügt die Objektvariable als Element hinzu. Dadurch wird erreicht, dass noch zusätzlich eine Referenz auf das Klassenobjekt angelegt wird, die so lange bestehen bleibt, bis sie aus der Collection entfernt wird oder die Objektvariable der Collection auf Nothing gesetzt wird. Wird die Objektvariable objbutton für eine neue Klasseninstanz benutzt, bleibt wegen der noch bestehenden Referenz auch die ältere Instanz im Speicher. Die Prozedur objbutton_klickevent ist eine Ereignisprozedur, die von dem mit der Objektvariablen objbutton verbundenen Objekt ausgelöst wird. Deshalb wurde auch bei der Deklaration das Schlüsselwort WithEvents benutzt. Die Prozedur mybutton_klickevent ist eine öffentliche Prozedur. Diese wird bei einem Klick auf einen Button von der damit verbundenen Klasse aufgerufen. clsbuttonevents Die Objektvariable objcommandbutton vom Typ MSForms.CommandButton ist mit dem Schlüsselwort WithEvents deklariert worden. Im Deklarationsteil dieser Klasse wird noch das Event KlickEvent angelegt, das man innerhalb der Klasse feuern kann. Feuern bedeutet, dass man in der Klasse, die eine Instanz auf diese Klasse hält, eine Ereignisprozedur auslösen kann. Dazu muss die Objektvariable, die eine Instanz auf die feuernde Klasse hält, also in der Userform die Variable objbutton, mit dem Schlüsselwort WithEvents deklariert sein. Benutzt man in der Userform als Prozedurnamen den Objektnamen, hängt einen Unterstrich und den Ereignisnamen daran, kann die feuernde Klasse diese Prozedur aufrufen und ihr sogar Parameter übergeben. Ausgelöst wird das durch die Anweisung RaiseEvent KlickEvent(objCommandButton.Name). Umgekehrt kann das mit der Objektvariablen objcommandbutton verbundene Objekt, in diesem Beispiel ein eingefügter Button, eine Ereignisprozedur in der verbundenen Klasse aufrufen. Dazu wird wieder der Objektname mit dem Ereignisnamen durch einen Unterstrich verbunden und als Prozedurname benutzt (objcommandbutton_click). In der Property-Prozedur Property Set Owner wird eine Referenz auf die Userform an die Klasse übergeben und in der Variablen mobjowner gespeichert. Damit ist es möglich, eine öffentliche Prozedur des aufrufenden Objekts ausführen zu lassen. Die Zeile mobjowner.mybutton_klickevent ruft dann die entsprechende Prozedur in der Userform auf. Durch diesen kleinen Kniff kann man in der Userform eine einzige Prozedur für alle Klickereignisse realisieren. Damit man noch unterscheiden kann, welcher Button gerade angeklickt wurde, übergibt man zusätzlich den Namen des Buttons. 111

13 3 Klassen 3.6 Fazit Klassen werden leider immer noch zu wenig eingesetzt. Das ist sehr schade, denn das Konzept der Klassen ist hervorragend und zukunftsweisend. Deshalb möchte ich den Leser an dieser Stelle noch einmal ausdrücklich dazu auffordern, dieses Konzept zu verinnerlichen. Haben Sie Funktionen oder Prozeduren geschrieben, die von Ihnen voraussichtlich in mehr als einem Projekt verwendet werden, sofort ab damit in eine Klasse! Mehrere ähnliche Funktionen, beispielsweise solche zum Umrechnen von Einheiten, sollten Sie umgehend in einer Klasse zusammenfassen. Damit schaffen Sie Ordnung und erleichtern sich das Wiederverwenden bereits programmierter Funktionalitäten. Geben Sie den angelegten Klassen noch sprechende Namen und exportieren Sie diese, erledigt sich sogar das mühselige Zusammensuchen von Codeteilen aus den unterschiedlichsten Arbeitsmappen. 112

OLConnector Programmierung

OLConnector Programmierung Das Vorgehen, um Outlook zu automatisieren, unterscheidet sich mit dem nur geringfügig vom üblicherweise dafür eingesetzten. Um irgendwelche Aktionen ausführen zu können, benötigt man die laufende Instanz

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten

Mehr

Michael Kolberg. einfach klipp & klar. Microsofft* Press

Michael Kolberg. einfach klipp & klar. Microsofft* Press Michael Kolberg einfach klipp & klar Microsofft* Press III Vorwort 11 Die CD-ROM zum Buch 21 Die AutoPlay-Funktion der CD-ROM 22 Installation der Testfragen und des Ebooks 23 Installation des Computer-Lexikons

Mehr

Skriptum Bauinformatik SS 2013 (Vorlesung IV)

Skriptum Bauinformatik SS 2013 (Vorlesung IV) Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...

Mehr

Makro + VBA 2007 effektiv

Makro + VBA 2007 effektiv Daten Makro + VBA 2007 effektiv 5 DATEN 5.1 Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten, siehe Seite 84, jederzeit im Programm verändert werden. Als Variablen können

Mehr

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com)

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Kapselung Was ist das? Auszug aus Wikipedia Kapselung ist auch ein wichtiges

Mehr

Klassenprogrammierung

Klassenprogrammierung Kapitel 25 Klassenprogrammierung Interessantes für Fortgeschrittene In diesem Kapitel: Objektorientiertes Programmieren 872 Klassen und Objekte 872 Klassen und Ereignisse 892 Zusammenfassung 903 871 Kapitel

Mehr

Access 2010 Programmierung Import und Export nach Excel

Access 2010 Programmierung Import und Export nach Excel Access 2010 Programmierung Import und Export nach Excel Excel... ist das Tabellenkalkulationsprogramm von Microsoft Office. wird genutzt, um numerische Daten in Tabellenform zu erfassen. kann Daten automatisch

Mehr

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA OLE-Objekte HARALD NAHRSTEDT. Erstellt am

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA OLE-Objekte HARALD NAHRSTEDT. Erstellt am HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.21 OLE-Objekte Erstellt am 01.12.2011 Beschreibung Die Abkürzung OLE steht für Object Linking and Embedding und ist eine Bezeichnung

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 11 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 10. Vorlesung Benutzerdefinierte Datentypen Wieso zusätzliche Datentypen? Definition neuer Datentypen Verwendung von Variablen mit benutzerdefiniertem

Mehr

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt

Mehr

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA CustomViews in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA CustomViews in VBA nutzen HARALD NAHRSTEDT. Erstellt am HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.9 CustomViews in VBA nutzen Erstellt am 15.10.2011 Beschreibung In Excel besteht die Möglichkeit, benutzerdefinierten Ansicht zu

Mehr

Microsoft Access 2010 Bilder

Microsoft Access 2010 Bilder Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis

Mehr

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Objektbindungen und Verweise HARALD NAHRSTEDT. Erstellt am

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Objektbindungen und Verweise HARALD NAHRSTEDT. Erstellt am HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.20 Objektbindungen und Verweise Erstellt am 01.12.2011 Beschreibung Den eigentlichen Funktionsumfang erhält Excel durch seine Objektbibliotheken.

Mehr

Kapitel 3 Datentypen, Variablen und Konstanten

Kapitel 3 Datentypen, Variablen und Konstanten Inhalt 1 2 3 Kapitel 3 Datentypen, Variablen und Konstanten Das folgende Kapitel bildet die Voraussetzung für eine strukturierte Programmierung in Excel. Mit Variablen speichern Sie Informationen dauerhaft

Mehr

Erstellen von speziellen Ereignissen in C#

Erstellen von speziellen Ereignissen in C# Erstellen von speziellen Ereignissen in C# Anhand eines Projekts, das demonstriert, wie spezielle Ereignisse ausgelöst werden und wie sie sich auf den verwendeten Code auswirken, zeigen wir Ihnen, wie

Mehr

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Windows Form einfügen... 2 Steuerelemente einfügen... 2 Steuerelemente Titel und Name... 3 Dialog Laden

Mehr

Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar

Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar 7.5.0 Collection Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar bestehen. Die Schlüssel sind generell vom Typ String und die assoziierten Werte

Mehr

3 Steuerelemente dynamisch verwalten

3 Steuerelemente dynamisch verwalten Essentials 3 Steuerelemente dynamisch verwalten Normalerweise legen Sie bereits beim Formularentwurf fest, wie viele Steuerelemente es gibt, wo sie sich befinden etc. Wenn Sie mehr Flexibilität wünschen,

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

White Paper Wählen-Buttons in Excel

White Paper Wählen-Buttons in Excel White Paper Wählen-Buttons in Excel Seite 2 White Paper... 1 Wählen-Buttons in Excel... 1 Wählen-Button in einer Tabelle... 3 Schritt 1: Excel-Datei öffnen... 3 Schritt 2: Button einbauen... 3 Schritt

Mehr

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0)

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0) AntMe Sebastian Loers lb-sys.info Projekt: AntMe - Globales Gedächtnis (Version 1.0) Dokument Version: 1.0 Erstellt am: 15.04.2007 Geändert am: 30.04.2007 Copyright 2007 lb-sys.info. Alle Rechte vorbehalten.

Mehr

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle

Mehr

Bilderverwaltung mit Access

Bilderverwaltung mit Access Bilderverwaltung mit Access (1) Tabelle anlegen Der große Nachteil beim Speichern von Bilddateien in Datenbanken ist, dass sie nicht in dem herkömmlichen Format, sondern in einem Windows-internen Format

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Access-Benutzeroberfläche

Access-Benutzeroberfläche Mit Access 2007 hat Microsoft das Ribbon eingeführt und Access seiner Werkzeuge beraubt, Menüleisten und über die Benutzeroberfläche zu erstellen. Nun gut: Menüleisten gibt es nicht mehr, aber können in

Mehr

16 SQL Server-Zugriff per VBA

16 SQL Server-Zugriff per VBA Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 16 SQL Server-Zugriff per VBA Sie werden an verschiedenen Stellen per VBA auf die Tabellen der SQL Server-Datenbank zugreifen müssen sei

Mehr

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17 Teil I Erste Schritte 1 Einleitung 11 1.1 Die Themenschwerpunkte dieses Buches 11 Visual Basic for Applications 11 Die Beispieldateien 12 1.2 Wie Sie am besten mit diesem Buch arbeiten 13 Programmierung

Mehr

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.23 Sequentielle Textdateien Erstellt am 12.02.2012 Beschreibung In Textdateien lassen sich schnell Informationen speichern und auch

Mehr

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011 Access 2010 für Windows Automatisierung, Programmierung ACC2010P 4 Access 2010 für Windows - Automatisierung, Programmierung 4 Mit

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. Zeiger Allgemeines Definition eines Zeigers 6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Access Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P

Access Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P Access 2013 Ricardo Hernández García 1. Ausgabe, November 2013 Programmierung ACC2013P Die VBA-Entwicklungsumgebung 5 Weitere Eingabehilfen Im Menü Bearbeiten finden Sie noch weitere Hilfen, die Ihnen

Mehr

Microsoft Excel VBA - Einführung

Microsoft Excel VBA - Einführung Microsoft Excel VBA - Einführung Stand: 2015-12-18 Kontaktdaten Organisatorisches Maik Ramftel 0172 / 81 93 687 ramftel@ramses.de zeiten und Pausen Organisatorisches 08:00 09:30 10:00 11:30 12:30 14:00

Mehr

Inhaltsverzeichnis. Vorwort 11

Inhaltsverzeichnis. Vorwort 11 Vorwort 11 Kapitell Grundlagen 15 1.1 Was Sie in diesem Kapitel erwartet 15.,2 Kommentare 15 1.3 Geschwindigkeit von VBA 16 1.4 Variablen 17 1.4.1 Variablennamen 17 1.4.2 Namenskonventionen 20 1.4.3 Datentypen

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Überschrift/Caption. Eigenschaftenfenster

Überschrift/Caption. Eigenschaftenfenster UsserrForrm errssttel llen Dass Codeffensstterr 22000044 NNi iikkoo BBeecckkeerr Öffnen Sie EXCEL und wechseln Sie mit der Tastenkombination Alt + F11 in den Visual Basic-Editor. Alternativ können Sie

Mehr

Grundlagen übertragen Sie die komplette E-Mail-Kommunikation von Outlook in Ihre Kun denverwaltung.

Grundlagen übertragen Sie die komplette E-Mail-Kommunikation von Outlook in Ihre Kun denverwaltung. 13 Outlook Outlook bietet wie Word oder Excel die Möglichkeit der Fernsteuerung von einer Access-Anwen dung aus. Es weist genau wie die übrigen Office-Anwendungen eine Objektbibliothek auf, über die Sie

Mehr

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? XML 1 WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? Mit den verschiedenen Versionen von Access wurde die Unterstützung von XML immer mehr verbessert. Vollständig ist sie aber

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Klassen und Objekte (1)

Klassen und Objekte (1) Klassen und Objekte (1) Begriffe Objekt Objekte definieren sich über Eigenschaften und auf sie anwendbare Methoden. Für grafische Elemente einer Anwendung, stehen Objekte bereit. Das ermöglicht z.b. das

Mehr

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

ModernOffice - Outlook-Synchronisation

ModernOffice - Outlook-Synchronisation ModernOffice - Outlook-Synchronisation 1. Beschreibung Mit dieser Funktion haben Sie die Möglichkeit, die Adressen oder Termine von Modern Office mit Microsoft Outlook auszutauschen. Die Termine werden

Mehr

Visual Basic Editor CATIA V5

Visual Basic Editor CATIA V5 Visual Basic Editor CATIA V5 Daniel Frauenrath Allgemein Der Visual Basic Editor ist fester Bestandteil von CATIA V5. Im Gegensatz zum internen Editor für CATScript und CATVbs hat der Visual Basic Editor

Mehr

orgexterndoc31 Inhaltsverzeichnis Einleitung... 1 Installation... 3 Grundinstallation... 3 Installation pro Arbeitsplatz... 6 Lizenzierung... 7 Benutzung Einzeldokument... 9 1. Möglichkeit:... 9 2. Möglichkeit...

Mehr

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode: Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Access und die andern (Office) Programme. Armin Hess

Access und die andern (Office) Programme. Armin Hess Access und die andern (Office) Programme Armin Hess Was wir wollen Excel, Word, Powerpoint und andere Programme von Access aus fernsteuern Grundlagen Excel, Word, Powerpoint und andere Programme präsentieren

Mehr

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Dim arrayname (dim1,dim2, ) As Typ Bei eindimensionalen Feldern

Mehr

Teil I Installation und erste Schritte 19

Teil I Installation und erste Schritte 19 5 Inhaltsverzeichnis Vorwort 13 Einleitung 15 Verwendete Office-Versionen 16 Der Aufbau dieses Buches 16 Das Ziel des Buches 17 Teil I Installation und erste Schritte 19 1 Von Office 2003 nach 2007 21

Mehr

Praxiseinsatz von benutzerdefinierten Klassen in Microsoft Access

Praxiseinsatz von benutzerdefinierten Klassen in Microsoft Access AEK 7 7. Access-Entwickler Entwickler-Konferenz Nürnberg, 25./26.9.2004 Praxiseinsatz von benutzerdefinierten Klassen in Microsoft Access Grundlagen Beispiele Tools softconcept, Wien www.softconcept.at

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Generierung von Zufallszahlen gemäß einer vorgegebenen diskreten Verteilung

Generierung von Zufallszahlen gemäß einer vorgegebenen diskreten Verteilung Generierung von Zufallszahlen gemäß einer vorgegebenen diskreten Verteilung Die folgende Fallstudie eignet sich sehr gut zur Einarbeitung in die objektorientierte Programmierung. Es wird zunächst eine

Mehr

1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung...

1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung... Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Grundlagen von Objekten und Ereignissen... 49 3 Grundlagen der Programmierung mit VBA... 101 4 Fehlerbehandlung... 137 5 Mehr über die Programmierung

Mehr

Visual Basic Express Fehlerermittlung

Visual Basic Express Fehlerermittlung Inhalt Dokument Beschreibung... 1 Fehlermeldungen anzeigen... 1 Fehlerkorrektur mit Fehlerliste... 2 Laufzeitfehler... 3 Arbeiten mit Haltepunkten... 4 Dokument Beschreibung Bei der Programmierung können

Mehr

1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung 137

1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung 137 Auf einen Blick Auf einen Blick 1 Einführung 17 2 Grundlagen von Objekten und Ereignissen 49 3 Grundlagen der Programmierung mit VBA 101 4 Fehlerbehandlung 137 5 Mehr über die Programmierung mit VBA 147

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Einstieg in VBA mit Excel Galileo Press

Einstieg in VBA mit Excel Galileo Press Thomas Theis Einstieg in VBA mit Excel Galileo Press Geleitwort des Fachgutachters 15 loooodoooooooockx)ock90000000aqoc^oc}ooaooooooooocx>c)ooocxx3ao 1 1 Was wird besser durch Makros und VBA? 17 12 Arbeiten

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

1 Abstrakte Klassen, finale Klassen und Interfaces 1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen

Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen Peter K. Antonitsch HTBL Mössingerstr. 25 pantonit@htblmo-klu.ac.at Formulare VBA-Editor: Einfügen User Form Peter K. Antonitsch

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, Dezember 2010. Automatisierung, Programmierung ACC2010P

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, Dezember 2010. Automatisierung, Programmierung ACC2010P Ricardo Hernández García 1. Ausgabe, Dezember 2010 Access 2010 für Windows Automatisierung, Programmierung ACC2010P I Access 2010 für Windows - Automatisierung, Programmierung 1 Über dieses Buch...4 1.1

Mehr

Richtig einsteigen: Access 2010 VBA-Programmierung

Richtig einsteigen: Access 2010 VBA-Programmierung Richtig einsteigen: Access 2010 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung von Lorenz Hölscher 1. Auflage Richtig einsteigen: Access 2010 VBA-Programmierung Hölscher schnell

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

Unpaarige Anfü hrüngszeichen ünd Klammern interaktiv korrigieren

Unpaarige Anfü hrüngszeichen ünd Klammern interaktiv korrigieren Unpaarige Anfü hrüngszeichen ünd Klammern interaktiv korrigieren Inhalt 1 Aufgabe... 1 2 Benutzerformular... 1 2.1 Steuerelemente... 1 2.2 Befehlsschaltflächen... 3 2.3 Bezeichnungsfelder... 3 2.4 Ereignisprozeduren...

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

Handbuch Xlive FILE ROUTER Intrexx Konfiguration

Handbuch Xlive FILE ROUTER Intrexx Konfiguration Handbuch Xlive FILE ROUTER Intrexx Konfiguration Release 2.0.1 Änderungen und Irrtümer vorbehalten 2009 Computer-live ohg Stand: 10.03.2009 1 / 22 Inhaltsverzeichnis 1 Vorbereitung/Anpassung Intrexx-Applikation...

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative

Mehr

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Variablen und Konstanten

Variablen und Konstanten Variablen und Konstanten Variablen und Konstanten werden benötigt, um sich in Prozeduren Werte zu merken oder zu übergeben. Es gibt numerische Werte (1 / 10,9) und es gibt alphanumerische Zeichenfolgen

Mehr

Info Betrifft: VBA, XML, MSXML-DOM Systemanforderungen: VBA-Host- Anwendung + Internet Explorer 5 oder höher Seitenzahl: 5

Info Betrifft: VBA, XML, MSXML-DOM Systemanforderungen: VBA-Host- Anwendung + Internet Explorer 5 oder höher Seitenzahl: 5 XML-Dateien mittels XML-Dom bearbeiten 1 von Helma Spona XML ist zurzeit in aller Munde. Nicht nur dass es ein wesentlicher Teil der.net-strategie von Microsoft ausmacht, auch im Alltag von Office- und

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte

Mehr

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Vererbung C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.

Mehr