Visual Basic
Vortrag in DVG 3
Hans Zais
Matr. Nr. 680200
DVG3 - 16VisualBasic
1
Kapitel 01
Einführung






Visual Basic ist eine Windows-Programmiersprache
von Microsoft entwickelt
visuelle Entwicklungsumgebung
ist objektorientierter als eine rein prozedurale Sprache (C,
Pascal)
gegenüber einer echt objektorientierten Sprache (C++, Java)
fehlen aber einige Sprachelemente (Vererbung von
Eigenschaften)
mit jeder neuen Version kommen aber ein paar objektorientierte
Merkmale hinzu.
DVG3 - 16VisualBasic
2
Kapitel 02
VB - Projekte








VB kann zur Programmierung unterschiedlicher Programmarten
verwendet werden:
Standard-EXE
ActiveX-EXE
ActiveX-DLL
ActiveX-Steuerelement
Add-In
ActiveX-Dokument-DLL
ActiveX-Document-EXE
DVG3 - 16VisualBasic
3
Kapitel 02
VB - Projekte








Standard-EXE:
EXE - executable ( = ausführbar)
herkömmliche Visual Basic Anwendung
fast alle Software-Anwendungen entsprechen einer
Standard-EXE
eigenständige Anwendung
keine Verbindung zu anderen Anwendungen
ActiveX-Steuerelemente
zum Erstellen eigener Steuerelemente
DVG3 - 16VisualBasic
4
Kapitel 02
VB - Projekte







ActiveX-EXE
Software-Anwendungen, die von anderen Programmen via OLE
oder COM über eine objektorientierte Programmschnittstelle
genutzt werden können.
sind als eigenständige Programme lauffähig
ActiveX-DLL
DLL - Dynamic Link Library
stellen nur Funktionen zur Verfügung, die von anderen
Programmen genutzt werden können
fast alle Windows-Funktionen sind in DLLs hinterlegt
DVG3 - 16VisualBasic
5
Kapitel 02
VB - Projekte








ActiveX-Dokument-DLL
können im Internet-Browser als Web Seite dargestellt werden
Komponente oder Funktionsbibliothek einer Anwendung
keine eigenständige Anwendung
Word 97 enthält zum Beispiel diese Funktionalität
ActiveX-Dokument-EXE
läßt sich als Webseite darstellen
ist eigenständige Anwendung
DVG3 - 16VisualBasic
6
Kapitel 03
VB - Entwicklungsumgebung





Die Toolbox
stellt alle verfügbaren Steuerelemente dar
Das Formfenster
bildet die Grundlage der Benutzeroberfläche
bildet den graphischen Hintergrund des Programms
DVG3 - 16VisualBasic
7
Kapitel 03
VB - Entwicklungsumgebung







Das Projektfenster
listet alle Formen, Module und Klassen eines Projektes auf
jede Form, jedes Modul und jede Klasse wird in einer separaten
Datei gespeichert
Das Codefenster
dient der Anzeige und Erfassung des Programmcodes
Das Eigenschaftenfenster
zur Anzeige und Veränderung von Steuerelementen
DVG3 - 16VisualBasic
8
Kapitel 04
Programmierung - Datentypen







Datentypen
Byte: ganze Zahl zwischen 0 und 255; Speicherplatz: 1 Byte
Integer: ganze Zahl zwischen -32 768 und +32 767;
Speicherplatz: 2 Byte
Long: ganze Zahl zwischen -2 147 483 648 und +2 147 483 647
Speicherplatz: 4 Byte
Single: Fließkommazahl mit 8 Stellen Genauigkeit;
Speicherplatz: 4 Byte
Double: Fließkommazahl mit 16 Stellen Genauigkeit;
Speicherplatz: 8 Byte
Currency: Festkommazahl mit 15 Stellen vor und 4 Stellen nach
dem Komma; Speicherplatz: 8 Byte
DVG3 - 16VisualBasic
9
Kapitel 04
Programmierung - Datentypen




Datentypen
String: Zeichenketten, also alphanumerische Zeichen und
Sonderzeichen; können beliebig lang sein
Object: speichert einen Verweis auf ein Objekt;
Speicherplatz: 4 Byte
Variant: Default-Variablentyp, d.h. falls einer Variable kein
Datentyp zugewiesen wird, wird ihr der Typ Variant zugewiesen.
Nachteile:
großer Speicherplatz (mindestens 16 Byte, bei Strings 22 Byte +
2 Byte pro Zeichen),
langsame Bearbeitungsgeschwindugkeit
DVG3 - 16VisualBasic
10
Kapitel 04
Programmierung - Datentypen




Date: Datum und Uhrzeit, wobei der Wertebereich beim Datum
zwischen dem 01.01.100 und dem 31.12.9999 liegt, der Bereich
der Zeit liegt zwischen 0 und 23.59.59; Speicherplatz: 8 Byte
Eigene Datentypen
benutzerdefinierte Variabletypen: Dieser Variablentyp ist kein
echter Datentyp, sondern die Zusammensetzung mehrerer
Variablen eines Typs:
Beispiel: Variablentyp TFHStudent
Type TFHStudent
Dim name As String
Dim vorname, matrNr As String
End Type

Zugriff:
TFHStudent.name = "Bolle"
DVG3 - 16VisualBasic
11
Kapitel 04
Programmierung - Datentypen



Vor jeder Variablendeklaration muss das Schlüsselwort Dim
stehen
Variablennamen müssen mit einem Buchstaben beginnen,
dürfen keine Sonderzeichen enthalten und maximal 255 Zeichen
lang sein.
Groß- und Kleinschreibung werden in VB grundsätzlich nicht
unterschieden.
DVG3 - 16VisualBasic
12
Kapitel 04
Programmierung - Felder



Statische Felder
bestehen aus Variablen gleichen Typs und einer festen Länge
Beispiele:
Dim feld(20) As Integer
liefert ein Feld von Integers mit der Länge 21 mit den
Feldelementem
feld(0), feld(1), ..., feld(20)
Dim feld(-5 To 7) As Integer
liefert ein Feld mit den 13 Feldelementen
feld(-5), feld(-4),... , feld(7)
DVG3 - 16VisualBasic
13
Kapitel 04
Programmierung - Felder



Dynamische Felder
besteht aus Variablen gleichen Typs, deren Länge dynamisch im
Programmablauf bestimmt und verändert werden können.
Beispiel:
Dim feld() As Integer
liefert ein Feld von Integers mit unbestimmter Länge. Die Größe
des Feldes kann im Programm dann durch
ReDim feld(N)
auf N+1 verändert werden.
DVG3 - 16VisualBasic
14
Kapitel 04
Programmierung - Konstanten


Konstanten
Beispiel:
Const pi = 3.14




Gültigkeitsbereich von Variablen und Konstanten:
Unterscheidung in globale und lokale
globale Variablen werden mit dem Schlüsselwort Global initiiert
Globale Variablen sind innerhalb des gesamten Programms
gültig, lokale nur in der Funktion in der sie definiert sind.
DVG3 - 16VisualBasic
15
Kapitel 04
Programmierung - Prozeduren



Funktionen und Prozeduren
ohne Rückgabewert:
Definition
Sub name_der_funktion()
...
End Sub
DVG3 - 16VisualBasic
16
Kapitel 04
Programmierung - Prozeduren


mit Rückgabewert:
Definition
Function name_der_funktion(x As Integer) As Double
...
End Function



Der Rückgabewert muß innerhalb der Funktion durch eine
Zuweisung dem Namen der Funktion zugewiesen werden
an die Funktion übergebener Parameter: Integer x
Rückgabewert: name_der_funktion vom Typ Double
DVG3 - 16VisualBasic
17
Kapitel 04
Programmierung - Prozeduren

Prozedurnamen dürfen außer dem Unterstrich keine
Sonderzeichen enthalten
Aufruf von Funktionen:

name_der_funktion Para1,...,ParaN


Die Datentypen von Para1,...,ParaN müssen identisch mit den
Paramertypen der aufgerufenen Funktion sein
DVG3 - 16VisualBasic
18
Kapitel 04
Programmierung - Prozeduren



Aufruf von Funktionen:
Es gibt zwei Arten, Funktionen mit Parametern aufzurufen:
call by value:
Wird für einen Parameter in einer Funktion die Übergabeart call
by value gewählt, dann wird beim Prozeduraufruf der Wert des
Parameters übergeben und nicht dessen Adresse. Wird der
Parameter in der aufgerufenen Prozedur geändert, so hat dies
keine Auswirkung auf den übergebenen Parameter.
DVG3 - 16VisualBasic
19
Kapitel 04
Programmierung - Prozeduren

Beispiel: call by value
Sub eins(ByVal a)
a=a+10
End Sub
Sub zwei()
b=10
eins b
c= b
End Sub

Der Parameter c hat hier den Wert 10.
DVG3 - 16VisualBasic
20
Kapitel 04
Programmierung - Prozeduren


call by reference:
Wird für einen Parameter die Übergabeart call by reference
gewählt, dann wird beim Prozeduraufruf die Adresse des
Parameters übergeben.
Wird der Parameter also in der aufgerufenen Prozedur geändert,
hat das Auswirkungen auf den Wert des Parameters in der
aufrufenden Prozedur.
Es ist nicht möglich, beim Aufruf als Parameter direkt eine Zahl
oder Zeichenkette zu verwenden, da diese nicht von der
Prozedur verändert werden kann.
DVG3 - 16VisualBasic
21
Kapitel 04
Programmierung - Prozeduren

Beispiel: call by reference
Sub eins(a)
Dim a=a+10
End Sub
Sub zwei()
Dim b=10
eins b
Dim c= b
End Sub

Der Parameter c hat hier den Wert 20.
DVG3 - 16VisualBasic
22
Kapitel 04
Programmierung - Prozeduren

Es gibt vordefinierte Prozeduren, wie

MsgBox “Text “
zeigt eine Textbox auf dem Bildschirm an

InputBox
funktioniert wie MsgBox nur wird hierbei die Eingabe einer
Zeichenkette ermöglicht.
DVG3 - 16VisualBasic
23
Kapitel 04
Programmierung - Verzweigungen



If - Then -Else
If bedingung Then
...
ElseIf bedingung1 Then
...
ElseIf bedingungN Then
...
Else
...
End If
Dabei werden die ElseIf - Blöcke und die Else - Blöcke nur
ausgeführt, wenn keine der darüber liegenden Bedingungen
erfüllt ist.
DVG3 - 16VisualBasic
24
Kapitel 04
Programmierung - Verzweigungen


Select - Case
Select Case ausdruck
Case möglichkeit1
...
Case möglichkeitN
...
Case Else
...
End Select
DVG3 - 16VisualBasic
25
Kapitel 04
Programmierung - Schleifen





For-Next-Schleifen
var1, var2
For var1= start To ende [Step schrittweite]
...
If ... Then Exit For
...
Next var2
In jedem Durchgang wird die Variable um die Schrittweite
erhöht
Ist keine Schrittweite angegeben, wird die Variable jeweils um 1
erhöht.
Als Schleifenvariable wird nach Durchlauf einer Variablen
automatisch die nächste eingesetzt.
DVG3 - 16VisualBasic
26
Kapitel 04
Programmierung - Schleifen



While - Wend - Schleife
While bedingung
...
Wend
Wird so lange ausgeführt, bis die Bedingung erfüllt ist
DVG3 - 16VisualBasic
27
Kapitel 04
Programmierung - Schleifen





Do - Loop - Schleifen
Do [ While bedingung oder Until bedingung]
...
If ... Then Exit Do
...
Loop
oder
Do
...
If ... Then Exit Do
...
Loop [ While bedingung oder Until bedingung]
Steht in einer Do - Loop - Schleife keine While- oder
Untilbedingung, dann ist sie eine Endlosschleife.
DVG3 - 16VisualBasic
28
Kapitel 04
Programmierung - Objekte





Als Objekte gelten Formulare, Steuerelemente und einige
Windows-Elemente ( Drucker, Zwischenablage, ...)
Objekte enthalten Eigenschaften und Methoden
Eigenschaften bestimmen die Merkmale eines Objekts ( Farbe
eines Formulars, Größe eines Buttons, ...).
Methoden führen Anweisungen aus.
Aufruf von Eigenschaften und Methoden:
objekt.eigenschaft
objekt.methode
DVG3 - 16VisualBasic
29
Kapitel 04
Programmierung - Objekte

Greift man nacheinander auf unterschiedliche Eigenschaften
oder Methoden eines Objekts zu, kann man dies mit With
vereinfachen:
With objekt
.methode1
...
.methodeN
.eigenschaft1
...
.eigenschaftM
End With
DVG3 - 16VisualBasic
30
Kapitel 06
Internet






Bei der ersten Version von HTML konnten nur statische Daten
angezeigt werden.
Es entstand der Wunsch, dynamisch auf Eingeben des
Anwenders reagieren zu können.
Beispiel:
Der Anwender gibt einen Suchbegriff ein.
Server leitet mittels CGI ( Common Gateway Interface) diese
Information weiter an ein Programm zur Auswertung
Dieses Programm liefert eine neue HTML-Seite, die als Antwort
an den Client übertragen wird.
DVG3 - 16VisualBasic
31
Kapitel 06
Internet



Dynamischer Datenaustausch ist Grundlage aller
Geschäftstransaktionen und jedes Datenbankzugriffs über das
Internet.
Darum wurde HTML mit Formular-Merkmalen erweitert, die es
ermöglichen, einfache Dialoge zu gestalten und Informationen
zurück an den Internet-Server zu senden.
Dort werden diese Informationen ausgewertet und auf einer
neuen HTML-Seite zurück an den Server übertragen.
DVG3 - 16VisualBasic
32
Kapitel 06
Internet



Nachteile:
Datenaustausch über das Internet ist langsam. Oft könnten
Daten gleich beim Anwender ausgewertet werden und stünden
damit gleich zur Verfügung.
Der Server kann nicht unbegrenzt viele CGI-Programme
gleichzeitig starten. Konsequenz: noch längere Wartezeiten.
DVG3 - 16VisualBasic
33
Kapitel 06
Internet



Lösungsansätze für diese Probleme:
Verlagerung von möglichst viel Funktionen zum Client zu
verlagern, d. h. in Programme, die lokal am Rechner des
Anwenders ausgeführt werden ( Java, JavaScript, VBScript,
DHTML-Anwendungen,... )
Ersetzen von CGI-Skripten durch effizientere Programme.
Microsoft bietet dazu den Internet Information Server, das
Internet Server Application Interface, und andere an.
DVG3 - 16VisualBasic
34
Kapitel 06
Internet - VBScript






Sehr starke Ähnlichkeit zu Visual Basic
Einige Unterschiede zu VB:
With-Kommando existiert nicht
nur Variablentyp Variant
VB-Script Programme sind spürbar langsamer als VB-Programme
In den meisten öffentlich zugänglichen Internet-Dokumenten
wird JavaScript benutzt, weil die Browser von Netscape nicht in
der Lage sind, VBScript-Code auszuführen.
DVG3 - 16VisualBasic
35
Kapitel 06
Internet - VBScript



VBScript-Code muss zwischen <SCRIPT>-Tags eingeschlossen
sein.
Innerhalb einer HTML-Datei sind mehrere <SCRIPT>-Abschnitte
zulässig.
Variable innerhalb eines <SCRIPT>-Abschnitts sind nur dort
bekannt, ein <SCRIPT>-Abschnitt wird wie ein eigenes Modul
behandelt.
DVG3 - 16VisualBasic
36
Kapitel 06
Internet - VBScript

Beispiel: Hello World!
<HTML>
<HEAD> <TITLE> Hello World als VBScript </TITLE> </HEAD>
<BODY>
<H3> Hello World in VBScript </H3>
<INPUT TYPE=“Button“ NAME=“MyButton“ VALUE=“Click Me“ >
<SCRIPT LANGUAGE=“VBScript“>
<!-Sub MyButton_OnClick()
MsgBox “Hello World! “
EndSub
-->
</SCRIPT>
</BODY>
</HTML>
DVG3 - 16VisualBasic
37

Visual Basic