Visual Basic. Einführung

Ähnliche Dokumente
Modul 122 VBA Scribt.docx

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Makro + VBA 2007 effektiv

VisualBasic - Variablen

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

Variablen und Konstanten

Einführung in die Programmierung mit VBA

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Einführung in VisualBasic for Applications. Stefan Mahlitz

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Java Einführung Methoden. Kapitel 6

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

Sin-Funktion vgl. Cos-Funktion

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays

Informationsverarbeitung im Bauwesen

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl,

Exit Do (Anweisung) Exit For (Anweisung) Exit Function (Anweisung) Exit Sub (Anweisung)

E-PRIME TUTORIUM Die Programmiersprache BASIC

Microsoft Excel VBA - Einführung

Excel Funktionen durch eigene Funktionen erweitern.

EXCEL VBA Cheat Sheet

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Access 2010 Programmierung Schleifen

Prof. W. Henrich Seite 1

VBA KURZTUTORIUM... 1

Informationsverarbeitung im Bauwesen

VBA-Programmierung: Zusammenfassung

Michael Kolberg. einfach klipp & klar. Microsofft* Press

RO-Tutorien 3 / 6 / 12

Repetitorium Informatik (Java)

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Programmiersprache Visual Basic. 4. Grundlagen der Datenbanktechnologie.

Propädeutikum zur Programmierung

Access 2010 Programmierung Funktionen in Access

Java Einführung Klassendefinitionen

Erstellen Sie ein Standardmodul, Seite 131. Legen Sie Optionen fest oder deklarieren Sie Konstanten für ein Modul, Seite 133

Einstieg in die Informatik mit Java

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

Überlegungen zur Entwicklung von Access- Anwendungen

12. ArcView-Anwendertreffen Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar

Java Einführung Methoden in Klassen

Informationsverarbeitung im Bauwesen

Access 2010 Programmierung Import und Export nach Excel

P r o g r a m m a b l a u f s t e u e r u n g

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

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

4 Schleifen -= Entstanden unter Excel 2003 =-

Javakurs für Anfänger

Programmierkurs Python I

Prozeduren und Funktionen

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

Tutorium Rechnerorganisation

Klausur SS 2013 EDV Anwendungen im Bauwesen. Name: Vorname: Matr.-Nr:

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Welche Informatik-Kenntnisse bringen Sie mit?

Theorie zu Übung 8 Implementierung in Java

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Objective-C CheatSheet

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Programmierung mit C Zeiger

Einführung in die C-Programmierung

Microsoft Access 2010 Bilder

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

Einstieg in die Programmierung mit Visual Basic.NET

Access-Benutzeroberfläche

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

Algorithmen und ihre Programmierung

Einstieg in die Informatik mit Java

Whitepaper VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Einstieg in die Informatik mit Java

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Programmieren in Anwendungen

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

PROGRAMMIERUNG IN JAVA

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Tutorium für Fortgeschrittene

Javakurs 2013 Objektorientierung

Kapitel 3: Variablen

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Arbeiten mit JavaKara

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

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

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Limitationen im VBA-Editor (VBE)


Grundlagen der Programmierung in Visual Basic UNIVERSITÄT ZU KÖLN

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio /9

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Transkript:

Visual Basic Einführung Inhalt Inhalt...1 Module...2 Code-Grundlagen...2 Variable...2 Konstante...3 Datentypen...3 Konvertierungen...3 Der Datentyp Variant...3 Arrays...4 Prozeduren...4 Sub-Prozeduren...4 Funktionen...4 Property-Prozeduren...5 Prozeduraufrufe...5 Argumente von Prozeduren...5 Kontrollstrukturen...5 Verzweigungen...6 Schleifen...6 Objekte...7 Auflistungsobjekte...8 Methoden...8 Eigenschaften...8 Erstellung von COM-Server...9 Copyright 1998-2000 Mag. Rupert Obermüller

Module 2 Module Visual Basic unterscheidet drei Modularten, wobei jedes Modul in einer Datei untergebracht ist: Formularmodul ( *.frm ) Benutzerschnittstelle auf Basis eines Formulars, eines Behälters für Kontrollelemente. besteht in erster Linie aus Ereignisprozeduren, welche auf vom Benutzer oder dem System ausgelösten Ereignissen reagieren. Standardmodul ( *.bas ) Dient zur Aufnahme von Prozeduren, welche von allen Modulen in Anspruch genommer werden können. Klassenmodul ( *.cls ) Dient zur Erstellung von Klassen, welche dann als Objekte instanziiert werden können. In VB ist jedes Objekt automatisch als COM-Objekt einsetzbar. Code-Grundlagen Der Basic-Interpreter ist nicht case-sensitiv. auf mehrere Zeilen verteilen _ Mehrere pro Zeile angeben : Zeile als Kommentar ausweisen ' Variable Der Standard-Datentyp ist der Datentyp Variant. Er kann alle Basisdatentypen aufnehmen und bei Bedarf auch konvertieren. Zur Verwendung dieses Datentyps ist keine Deklaration erforderlich. Ein besseres Laufzeitverhalten ergibt sich allerdings bei der Deklaration eines bestimmten Datentyps dim var [ as typ ] Das Schlüsselwort dim legt immer Variable mit lokaler Lebensdauer und Sichtbarkeit an. Dies kann durch andere Modifizierer geändert werden: static var Sichtbarkeit innerhalb der Prozedur, globale Lebensdauer ( nur innerhalb einer Prozedur gültig ) public var Sichtbarkeit in allen Modulen, globale Lebensdauer ( nur außerhalb einer Prozedur gültig ) private var Sichtbarkeit im betreffenden Modul, globale Lebensdauer ( nur außerhalb einer Prozedur gültig ) Durch Angabe von option explizit wird man gezwungen, Variablen zu deklarieren.

Konstante 3 Konstante Konstante können nur außerhalb von Prozeduren definiert werden: [ public private ] const name [ as typ ] = ausdruck Datentypen Numerische Typen integer, long Gleitkommatypen single, double Festkommatypen currency Binärtypen byte Zeichenketten string ( variable Länge ) string*länge ( fixe Länge ) Wahrheitswert boolean Datum date Verweis auf COM-Automation Objekte object Zeichenkettenkonstante werden in doppelte Anführungszeichen eingeschlossen. Zeichenketten werden mit dem & Operator konkateniert. Konvertierungen Zur expliziten Konvertierung von Datentypen stehen folgende Prozeduren zur Verfügung Konvertierungsfunktion cbool cbyte ccur cdate cdbl cint clng csng cstr cvar cverr auf Datentyp boolean byte currency date double integer long single string variant error Der Datentyp Variant Dieser muß nicht explizit konvertiert werden. Beispiel: dim wert wert = 15 wert = wert 5 wert = "ergebnis" & wert Er kann außerdem bestimmte Konstante aufnehmen: empty es wurde noch kein Wert zugewiesen. Prüfung mit isempty(var) null es ist kein Wert verfügbar. Abfrage mit isnull(var), Zuweisung mit var = null error

Arrays 4 Arrays Arrays können durch die Angabe einer Index-Obergrenze quantifiziert werden. Der verfügbare Index läuft dann von 0 bis Anzahl dim var ( Anzahl ) [ as Typ ] Der Indexbereich kann auch in der Deklaration angegeben werden dim var ( Untergrenze to Obergrenze ) [ as Typ ] Mehrdimensionale Arrays können erzeugt werden, indem die Indexgrenzen pro Dimension durch Beistriche getrennt angegeben werden: dim var ( Anzahl1, Anzahl2,... ) [ as Typ ] Prozeduren Man unterscheidet drei Typen Sub-Prozeduren besitzen keinen Rückgabewert Funktionen besitzen einen Rückgabewert Property-Prozeduren zur Abfrage und zum Setzen von Eigenschaften in einer Klasse Sub-Prozeduren Deklaration [ private public static ] Sub name ( argumente ) end sub Man unterscheidet allgemeine Sub-Prozeduren beliebige Namesgebung Ereignis-Sub-Prozeduren vorgegebene Namensgebung als Reaktion auf Steuerelement-Ereignisse elementname_ereignisname(), z. Bsp. cmdbutton_click() als Reaktion auf Formular-Ereignisse form_ereignisname(), z. Bsp. Form_Load() Funktionen Deklaration [ private public static ] Function name ( argumente ) [ as Typ] end function Der Aufruf kann als Ausdruck verwendet werden. Wird kein Rückgabetyp angegeben, wird der Typ Variant angenommen. Die Wertrückgabe erfolgt durch Zuweisung eines Ausdrucks an den Funktionsnamen. Beispiel:

Kontrollstrukturen 5 function getx() as integer getx = 1 end function Property-Prozeduren Um die Daten eines Klassenmoduls zu schützen werden sie meist als private deklariert. Um dennoch einen kontrollierten Zugriff darauf zu gestatten können die Property-Prozeduren verwendet werden. Dabei deklariert man eine Prozedur für den Zugriff: public property get name() [ as typ ] end property und eine Prozedur für das setzen der Eigenschaft: public property let name(byval value [ as typ ] ) end property Prozeduraufrufe Sub-Prozeduren und Funktionen können auf zwei Arten aufgerufen werden: call prozname ( arg1, arg2,... ) prozname arg1, arg2,... Prozeduren in Formularen müssen mit mit dem Formularnamen qualifiziert werden formularname.prozname arg1, arg2,... Prozeduren in Klassenmodulen können erst dann angesprochen werden, wenn eine Instanz der entsprechenden Klasse existiert dim objektname as new klassenname objektname.prozname arg1, arg2,... Prozeduren in Standardmodulen können im allgenmeinen mit ihrem Namen allein aufgerufen weden. Bei Namensgleichheit von Prozeduren in anderen Modulen muß die Prozedur mit dem Modulnamen qualifiziert werden: modulname.prozname arg1, arg2,... Argumente von Prozeduren Wertübergabe byval argname [ as typ ] Referenzübergabe ( Standard ) [ byref ] argname [ as typ ] Optionale Argumente optional argname [ as typ ] [ = wert ] Kontrollstrukturen

Kontrollstrukturen 6 Verzweigungen if bedingung then anweisung if begingung then endif if bedingung then [ elseif bedingung then ] [else ] endif select case ausdruck case Ausdruckliste case Ausdruckliste... case else end select Schleifen do while Bedingung loop do loop while bedingung for var = startvar to endvar [ step schrittweite ] next [ var ] for each Element in Gruppe next element Gruppe kann eine Auflistung oder ein Array sein. Element kann ein beliebiger Datentyp sein.

Objekte 7 Objekte Objekte sind Instanzen von Klassenmodulen, welche eine COM-Klasse beschreiben. Auf diese Instanzen wird mittels einer sogenannten Objektvariablen verwiesen. dim objvar as klassenname Bevor die Eigenschaften und Methoden des Objektes verwendet werden können, muß das Objekt instanziiert werden: set objvar = new klassenname dim objvar as new klassenname Die Eigenschaften bzw. Methoden müssen dann mit dem objektnamen qualifiziert werden: objvar.property = wert var = objvar.property objvar.prozname arg1, arg2,... Beispiel: Verwendung des TipOfDay-Objektes Aus dem Menu Project - References wird die betreffende Typbibliothek ( TipOfDay Bibliothek ) ausgewählt. Dann können die Objekte mit New angelegt werden, was einem CoCreateInstance()-Aufruf entspricht. Visual Basic geht jedoch davon aus, daß die erste definierte Schnittstelle die Standardschnittstelle ist, welche "versteckt" wird und mit dem Objektnamen angesprochen werden kann. Jede weitere Schnittstelle kann deklariert werden und mit dem Set-Schlüsselwort wird ihr die Objektreferenz zugewiesen, was einem QueryInterface()-Aufruf entspricht. Private tip As New CoTipOfDay Private nr As Integer Private str As String Private Sub Form_Load() Dim tip2 As ITipOfDay2 Set tip2 = tip tip2.loadtips "tiptext.tip" tip2.getnexttip nr, str TipText.Text = str End Sub Private Sub nextbutton_click() nr = nr + 1 tip.getnexttip nr, str TipText.Text = str End Sub

Objekte 8 Auflistungsobjekte Auflistungsobjekte sind eine Sammlung von Variant-Datentypen. Jedes Objekt in der Auflistung kann über einen Zeichenketten-Schlüssel oder einem bei 1 beginnenden Index angesprochen werden Beispiele: auflistungsobj ( "schlüssel" ) auflistungsobj! schlüssel auflistungsobj ( index ) Forms Controls alle geladenen Formulare einer Anwendung alle Kontrollelemente eines Formulars Methoden Add Element hinzufügen Sub Add ( Element As Variant [, Schlüssel As Variant] [, before As Variant] [, after As Variant] ) Item Zugriff auf ein Element [Set] Variable = Objekt.Item(Index) Remove Element löschen Objekt.Remove Index Eigenschaften Count Anzahl der Elemente bestimmen

Objekte 9 Erstellung von COM-Server Visual Basic versteckt bei der Erstellung eines Servers viel Details, sodaß diese sehr schnell vorgenommen werden kann. Folgende Vorgangsweise ist nötig: Erstellen einer ActiveX-DLL Der Projektname dient außerdem als Name der Typbibliothek Der Klassenmodulname wird als Name der COM-Klasse verwendet Die ProgID wird dann aus diesen beiden Namen zusammengesetzt. Dann muß man eine Entscheidung treffen: Erstellen des COM-Objektes sozusagen von Anfang an Hier muß man die Einschränkung in Kauf nehmen, daß das Objekt nur eine Schnittstelle besitzen kann. Diese erhält den Namen _<COM-Klassenname>. In dem Modul hinzugefügte Methoden werden automatisch Methoden der Schnittstelle. Erstellen des COM-Objektes auf Grundlage einer vorhandenen Typbibliothek. Soll das COM-Objekt mehrere Schnittstellen unterstützen, so ist diese Vorgangsweise unerlässlich. Die Typbibliothek der gewünschten COM-Klasse kann mit einem beliebigen Werkzeug ( z. Bsp. Visual C++ ) erzeugt werden. In Visual Basic richtet man eine Refernz auf diese Typbibliothek ein und gibt an, welche Schnittstellen man implementieren will, z. Bsp. Implements DataStore.IStringArray Dann kann man mit dem Editor die Methodenrümpfe erstellen lassen und diese füllen.