Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 1 Die Grundlagen
  gp 1.1 Nach der Installation
  gp 1.2 Der erste Start
  gp 1.3 Das erste Formular
  gp 1.4 Eigenschaften
    gp 1.4.1 Regeln für Namen
    gp 1.4.2 Die Eigenschaften
  gp 1.5 Die Toolbox
  gp 1.6 Das Meldungsfenster
    gp 1.6.1 Die Code-Eingabe für die MessageBox
    gp 1.6.2 Ein Wort zum »alten« Visual Basic
    gp 1.6.3 Die Code-Eingabe allgemein
  gp 1.7 Ein Textfeld
  gp 1.8 Texte verketten
  gp 1.9 Andere Zeichen
    gp 1.9.1 Noch ein Wort zum Code-Tippen
    gp 1.9.2 Ein Wort zur Syntax
  gp 1.10 Variablen
  gp 1.11 Ein theoretischer Exkurs: Werte- und Referenztypen
  gp 1.12 Zuweisen von Werten an Variablen
  gp 1.13 Verzweigungen
  gp 1.14 Einige Hilfen für den Benutzer
    gp 1.14.1 Setze den Cursor in ein Textfeld
    gp 1.14.2 Ok und Abbrechen
    gp 1.14.3 Die Reihenfolge der Steuerelemente
  gp 1.15 Ein zweites Textfeld
    gp 1.15.1 Vergleiche
  gp 1.16 Rechnen in Basic
  gp 1.17 Optionsfelder
    gp 1.17.1 Schnell und ordentlich mehrere Steuerelemente platzieren
  gp 1.18 Ein zweites Gruppenfeld
  gp 1.19 Dynamische Steuerelemente
  gp 1.20 Das Ereignis »Klick«
  gp 1.21 Prozeduren
  gp 1.22 Ein theoretischer Exkurs: Prozeduren
  gp 1.23 Module
  gp 1.24 Ein theoretischer Exkurs: Objekte, Eigenschaften und Methoden
    gp 1.24.1 Objekte
    gp 1.24.2 Methoden
    gp 1.24.3 Eigenschaften
  gp 1.25 Zusammenfassung


Galileo Computing

1.24 Ein theoretischer Exkurs: Objekte, Eigenschaften und Methoden  downtop

Wir sprechen nun schon die ganze Zeit von Objekten, Methoden, Eigenschaften und Ereignissen. Was ist das denn eigentlich?


Galileo Computing

1.24.1 Objekte  downtop

Objekte sind aus der realen Welt bekannt: ein Baum, ein Motorrad oder eine Heizung sind Objekte. Beispiele für Objekte in VB.NET sind Meldungsfenster, Dialogblätter und Steuerelemente. Ebenso sind die Programme (beispielsweise Word, Excel und Outlook) selbst Objekte (sie heißen Application) oder auch Elemente der Programme: Dokumente, Tabellen, markierter Text, ein grafisches Objekt. In VB.NET muss das Objekt klar definiert sein, bevor ihm eine Methode oder Eigenschaft zugewiesen wird, beziehungsweise bevor die Eigenschaft geändert werden kann. Diese Objekte stellen die oberste Ebene dar.


Galileo Computing

1.24.2 Methoden  downtop

Methoden sind Aktionen, die von den Objekten ausgeführt werden. In der realen Welt wäre es:

Baum.BlätterFallenLassen
Baum.Wachsen
Motorrad.Starten
Motorrad.Bremsen

und so weiter. In VB.NET kann man eine Dialogbox nehmen. Eine ihrer Methoden heißt show. Soll also das Dialogblatt gezeigt werden, so wird das Objekt (nennen wir es »frmKaffeeautomat«) aufgerufen mit der entsprechenden Methode Show:

frmKaffeeautomat.ActiveForm.Show

Methoden sind in der Liste an dem lila Radiergummi erkennbar (oder ist es eher ein Pflasterstein von Berliner Autonomen?):

Abbildung

Abbildung 1.39   Methoden

Nehmen wir ein Formular als Beispiel: Das oberste Objekt heißt dort »Me« – dieses Objekt steht an der Spitze der Hierarchie (und ist deshalb häufig redundant, das heißt, es kann geschrieben werden oder auch nicht). »Me« entspricht dem Formular selbst. Dieses Objekt hat nun eine Reihe von Methoden, beispielsweise:

Me.Activate
Me.Show
Me.Close

Galileo Computing

1.24.3 Eigenschaften  toptop

Eigenschaften sind uns in den Dialogboxen über das Eigenschaftenfenster begegnet. Alle Eigenschaften, die dort eingestellt werden können, können auch durch Programmierung während der Laufzeit verändert werden. Ein formatiertes Bild mit der Eigenschaft Visible = False kann beim Start dennoch sichtbar sein, wenn bei der Initialisierung im Programmcode die Eigenschaft Visible = True vergeben wird. Sie hat Priorität gegenüber den Voreinstellungen.

Dann erscheinen die Eigenschaften mit einem Fingersymbol, das auf ein weißes Blatt zeigt.

Abbildung

Abbildung 1.40   Eigenschaften

In der Realität sind Eigenschaften Attribute von Dingen. Beispielsweise:

Baum.Höhe = 10
Baum.Umfang = 5
Motorrad.PS = 130
Motorrad.Farbe = "Blau"

Eigenschaften einer Userform sind beispielsweise »Location«, »Text« und »Name«. Bei einem Label sind Eigenschaften »Font«, »TextAlign« oder »Visible«. Eigenschaften liefern Informationen über das Objekt oder können verändert werden. So wird mit der Eigenschaft »Name« der Name des Formulars oder des Steuerelements abgefragt und an eine Variable (strFormName) übergeben:

strFormName = Me.Name
strSteuerelementName = Me.Label1.Name

Mit den Eigenschaften können charakteristische Attribute von Objekten geändert werden. Wichtig ist, dass Eigenschaften gesetzt oder abgefragt werden können. Wird eine Eigenschaft zugewiesen, so steht links des Gleichheitszeichens das Objekt mit seiner Eigenschaft, rechts des Gleichheitszeichens die gesetzte Eigenschaft.

Ähnlich sieht es aus, wenn Eigenschaften abgefragt werden. Dann wird überprüft, ob das Objekt links des Gleichheitszeichens mit seiner Eigenschaft die Eigenschaft rechts des Gleichheitszeichens besitzt.

Im Beispiel

lblHöhe.Font.Name = "Comic Sans MS"

wird die Eigenschaft »Name« der Eigenschaft »Font« des Objekts »lblHöhe« auf »Comic Sans MS« gesetzt. Dagegen wird im folgenden Beispiel überprüft, ob die Eigenschaft »Name« der Eigenschaft »Font« des Objekts »lblHöhe« auf »Comic Sans MS« gesetzt wurde:

If lblHöhe.Font.Name = "Comic Sans MS" Then _
   MessageBox("Comic Sans MS")

Die Grenzen zwischen Eigenschaften setzen und Eigenschaften abfragen weisen in der Syntax keine Unterschiede auf. Es findet sich – anders als bei den Methoden – immer ein Gleichheitszeichen. Methoden werden immer mit einer Klammer beendet.

Achtung: Einige Eigenschaften können nur abgefragt, nicht aber gesetzt werden, zum Beispiel der Name eines Steuerelements. Er liegt zur Laufzeit schon fest und kann folglich nicht geändert werden. Die Eigenschaft ist somit schreibgeschützt.

In VB.NET existieren mehrere hundert Objekte. Es ist ebenso müßig, sie zu zählen, wie die Zahl der verschiedenen Methoden und Eigenschaften. Deshalb stellt VB.NET einige Hilfsfunktionen zur Verfügung, da sich niemand alle Objekte, Methoden und Eigenschaften merken soll.

Die AutoComplete-Funktion

Wenn ein Objekt erkannt wird, stellt VB.NET nach Eingabe eines Punktes eine Liste von Methoden und Eigenschaften zur Verfügung. Zum Beispiel erscheint nach der Eingabe von Me. die Liste der zugehörigen Methoden und Eigenschaften.

Steht der Zeiger auf der richtigen Eigenschaft oder Methode, so kann diese mittels der (Enter)-, der (____)- oder der (ÿ)-Taste bestätigt und damit in den Quelltext eingefügt werden. Wird eine Eigenschaft oder eine Methode geändert, dann genügt es, den letzten Buchstaben zu löschen, um erneut die Liste zu erhalten.

Das heißt, dem Objekt »Me« oder dem Objekt »Label1« werden nach der Eingabe des Punkts in die Liste seine Eigenschaften und Methoden angezeigt. Findet der Benutzer die Eigenschaft »WindowState« oder »Font.Bold«, kann er ein Gleichheitszeichen (»=«) setzen und erhält dadurch eine Liste aller möglichen Zustände:

Online-Hilfe

Es gibt sehr viele verschiedene vorgegebene Methoden, Eigenschaften und Ereignisse. Sie können über Ansicht Andere Fenster Objektbrowser, (Strg) + (Alt) + (J) oder das entsprechende Symbol angezeigt werden, wenn Sie nicht mit der AutoComplete-Funktion arbeiten möchten oder etwas ganz Spezielles suchen.

Zugriff auf Objektvariablen

Objekte können auch deklariert werden. Dazu gibt es zwei Möglichkeiten. Man könnte eine Variable möglichst allgemein deklarieren und sie im Laufe der Prozedur füllen. Beispielsweise so:

Dim t As TextBox
t = Me.txtName
If t.Text = "" Then 
   MessageBox.Show _
   ("Hey, Benutzer, dein Name fehlt!")
   t.Select()
   Exit Sub
End If
   MessageBox.Show("Achtung: " & t.Text & _
   "Jetzt gibt es " & strGetränk & _
   strZusatz & "!")

Das Objekt t wird deklariert und gefüllt. Natürlich kann dies bereits bei der Deklaration geschehen:

Dim t As TextBox = Me.txtName

Nun kann mit der Variablen t gearbeitet werden und die bekannten Methoden und Eigenschaften »Select« und »Text« können darauf angewendet werden. So ein Vorgehen macht den Code flexibel und leicht erweiterbar. Man muss nicht immer den Namen des Objekts kennen, sondern greift nur auf eine Objektvariable zurück.

Eine zweite Variante steht zur Verfügung: Man kann die Variable t auch allgemein deklarieren:

Dim t As Object

und anschließend auf das Textfeld zugreifen:

t = Me.txtName

Der Nachteil hierbei ist (neben einem erhöhten Speicherplatz), dass man nun die Eigenschaften der Objekte kennen muss. Diese Art der Programmierung wird »late binding« genannt, da die genaue Festlegung erst sehr spät erfolgt. Allerdings gibt es einige Gründe für »late binding«, über die wir noch sprechen werden.

Besser ist es jedoch, die Variablen früh zu spezifizieren (»early binding«):

Dim t As TextBox = Me.txtName

Nun hilft die AutoComplete-Funktion beim Auffinden der richtigen Objekte.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML