370 likes | 521 Views
Visual Basic. Vortrag in DVG 3 Hans Zais Matr. Nr. 680200. Kapitel 01 Einführung. Visual Basic ist eine Windows-Programmiersprache von Microsoft entwickelt visuelle Entwicklungsumgebung ist objektorientierter als eine rein prozedurale Sprache (C, Pascal)
E N D
Visual Basic Vortrag in DVG 3 Hans Zais Matr. Nr. 680200 DVG3 - 16VisualBasic
Kapitel 01Einfü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
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
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
Kapitel 02VB - 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
Kapitel 02VB - 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
Kapitel 03VB - 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
Kapitel 03VB - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - Prozeduren • Funktionen und Prozeduren • ohne Rückgabewert: • Definition • Sub name_der_funktion() • ... • End Sub DVG3 - 16VisualBasic
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - Verzweigungen • Select - Case • Select Case ausdruck • Case möglichkeit1 • ... • Case möglichkeitN • ... • Case Else • ... • End Select DVG3 - 16VisualBasic
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - Schleifen • While - Wend - Schleife • While bedingung • ... • Wend • Wird so lange ausgeführt, bis die Bedingung erfüllt ist DVG3 - 16VisualBasic
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 04Programmierung - 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
Kapitel 06Internet • 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
Kapitel 06Internet • 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
Kapitel 06Internet • 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
Kapitel 06Internet • 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
Kapitel 06Internet - 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
Kapitel 06Internet - 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
Kapitel 06Internet - 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