Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
12 Windows Presentation Foundation
13 Windows Store-Apps für Windows 8
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
C Inhalt der Buch-DVD
D Der Autor
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Einstieg in Visual Basic 2012 von Thomas Theis
Ideal für Programmiereinsteiger geeignet
Buch: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Rheinwerk Computing
579 S., 3., aktualisierte und erweiterte Auflage 2013, brosch., mit DVD
24,90 Euro, ISBN 978-3-8362-1959-4
Pfeil 4 Erweiterte Grundlagen
Pfeil 4.1 Steuerelemente aktivieren
Pfeil 4.1.1 Ereignis Enter
Pfeil 4.1.2 Eigenschaften Enabled und Visible
Pfeil 4.2 Bedienung per Tastatur
Pfeil 4.2.1 Eigenschaften TabIndex und TabStop
Pfeil 4.2.2 Tastenkombination für Steuerelemente
Pfeil 4.3 Ereignisgesteuerte Programmierung
Pfeil 4.3.1 Eine Ereigniskette
Pfeil 4.3.2 Endlose Ereignisketten
Pfeil 4.3.3 Textfelder koppeln
Pfeil 4.4 Mehrere Formulare
Pfeil 4.4.1 Allgemeine Code-Module
Pfeil 4.5 Datenfelder
Pfeil 4.5.1 Eindimensionale Datenfelder
Pfeil 4.5.2 Ein Feld durchsuchen
Pfeil 4.5.3 Weitere Feld-Operationen
Pfeil 4.5.4 Mehrdimensionale Datenfelder
Pfeil 4.5.5 Datenfelder initialisieren
Pfeil 4.5.6 Datenfelder sind dynamisch
Pfeil 4.5.7 Collections initialisieren
Pfeil 4.5.8 For-Each-Schleife
Pfeil 4.6 Datenstruktur ArrayList
Pfeil 4.7 Benutzerdefinierte Datentypen
Pfeil 4.8 Prozeduren und Funktionen
Pfeil 4.8.1 Prozeduren
Pfeil 4.8.2 Übergabe per Referenz
Pfeil 4.8.3 Funktionen
Pfeil 4.8.4 Optionale Argumente
Pfeil 4.8.5 Beliebig viele Argumente
Pfeil 4.8.6 Datenfelder als Argumente
Pfeil 4.8.7 Rekursiver Aufruf
Pfeil 4.8.8 Übungen zu Prozeduren und Funktionen
Pfeil 4.9 Konsolenanwendung
Pfeil 4.9.1 Anwendung erzeugen
Pfeil 4.9.2 Ein- und Ausgabe von Text
Pfeil 4.9.3 Eingabe einer Zahl
Pfeil 4.9.4 Erfolgreiche Eingabe einer Zahl
Pfeil 4.9.5 Ausgabe formatieren
Pfeil 4.9.6 Aufruf von der Kommandozeile

Rheinwerk Computing - Zum Seitenanfang

4.7 Benutzerdefinierte Datentypen

Benutzerdefinierte Datentypen werden auch Strukturen genannt. In Strukturen werden Variablen unterschiedlichen Datentyps zusammengefasst, die sachlich zusammengehören. Der Entwurf eines benutzerdefinierten Datentyps geschieht im Deklarationsteil eines Moduls, der Gültigkeitsbereich kann mit Private oder Public geregelt werden.

Strukturen können in Visual Basic .NET allerdings noch wesentlich mehr. Sie ähneln eher einer Klasse. Klassen werden in Kapitel 5, »Objektorientierte Programmierung«, noch ausführlich vorgestellt. Möchten Sie zunächst aber nur Daten unterschiedlichen Typs zu einer logischen Einheit zusammenfassen, so reichen die hier vorgestellten Möglichkeiten aus.

Im folgenden Beispiel im Projekt Strukturen wird eine Struktur klassenweit gültig definiert. Innerhalb einer Prozedur werden zwei Variablen dieses benutzerdefinierten Datentyps deklariert. Den Komponenten (also Bestandteilen) einer Variablen dieses Typs werden Werte zugewiesen, anschließend wird der gesamte Datensatz in eine andere Variable des gleichen Typs kopiert. Diese Variable wird ausgegeben, siehe Abbildung 4.30.

Abbildung

Abbildung 4.30 Strukturen

Der zugehörige Code:

Public Class Form1
Structure Person
Dim Nachname As String
Dim Vorname As String
Dim Kind() As String
Dim PLZ As Integer
Dim Ort As String
Dim GebDatum As Date
Dim Gehalt As Single
End Structure

Private Sub cmdAnzeigen_Click(...) Handles ...
Dim PA As Person
Dim PB As Person
Dim i As Integer

' Zuweisung zu PA
PA.Nachname = "Hansen"
PA.Vorname = "Bernd"
ReDim PA.Kind(3)
PA.Kind(0) = "Svenja"
PA.Kind(1) = "Torsten"
PA.Kind(2) = "Gerd"
PA.PLZ = 74388
PA.Ort = "Bergstadt"
PA.GebDatum = "15.05.1975"
PA.Gehalt = 3522.55
' Zuweisung zu PB
PB = PA

' Ausgabe
lblAnzeige.Text = PB.Vorname & " " &
PB.Nachname & vbCrLf & "Kinder: "
For i = 0 To PB.Kind.GetUpperBound(0)
lblAnzeige.Text &= PB.Kind(i) & " "
Next
lblAnzeige.Text &= vbCrLf & PB.PLZ & " " &
PB.Ort & vbCrLf & "geb. " & PB.GebDatum &
vbCrLf & "Gehalt: " & PB.Gehalt & " €"
End Sub
End Class

Listing 4.22 Projekt »Strukturen«

Zur Erläuterung:

  • Innerhalb von Structure ... End Structure wird der Aufbau des benutzerdefinierten Datentyps festgelegt. Eine Strukturdefinition muss immer klassenweit gültig vorgenommen werden. Im vorliegenden Beispiel handelt es sich um die Definition für einen Datensatz für Personendaten.
  • Ein solcher Datensatz besteht aus sieben Elementen. Diese haben unterschiedliche Datentypen (Integer, String, Date, Single). Eines der Elemente ist ein Datenfeld. Bei der Definition eines Datenfelds innerhalb einer Struktur darf die Größe noch nicht festgelegt werden. Dies kann erst bei der Deklaration einer Variablen dieses Datentyps erfolgen.
  • In der Prozedur cmdAnzeigen_Click() werden zwei Variablen (PA und PB) des benutzerdefinierten Datentyps deklariert. Diese Deklaration wird analog zur Deklaration einer Variablen eines Basis-Datentyps vorgenommen.
  • Hinweis: Sie können auch Felder von Variablen eines benutzerdefinierten Datentyps deklarieren.
  • Den Komponenten der ersten Variablen werden Werte zugewiesen. Dabei werden die Komponenten in der Form Variablenname.Komponentenname angesprochen, damit klar ist, welcher Variablen ein Vorname, ein Nachname usw. zugewiesen wird.
  • Der Eigenschaft eines Steuerelements wird mit der gleichen Schreibweise ein Wert zugewiesen. Tatsächlich handelt es sich auch aus der objektorientierten Sicht um nichts anderes: Objekt.Eigenschaft = Wert. Steuerelemente oder Variablen eines benutzerdefinierten Datentyps sind Objekte, die gemäß einer (Klassen-)Definition erstellt wurden.
  • Eine Besonderheit: Bei der Komponente Kind handelt es sich um ein Feld, dessen Größe noch nicht festgelegt wurde. Vor der Zuweisung einzelner Feldelemente muss die Größe allerdings gewählt werden, mithilfe von ReDim. Natürlich kann auch ein solches Feld noch seine Größe zu einem späteren Zeitpunkt der Laufzeit verändern (siehe Abschnitt 4.5.6).
  • Die Zuweisung PB = PA sorgt dafür, dass der gesamte Datensatz PA mit allen Komponenten in PB kopiert wird.
  • Zu guter Letzt werden alle Komponenten von PB ausgegeben.
  • Bei der Komponente Kind werden die einzelnen Feldelemente mithilfe einer Schleife ausgegeben. Dabei kommt die Methode GetUpperBound() zur Ermittlung des höchsten Feld-Index zum Einsatz.

Als übersichtliche Alternative hätte sich auch die Benutzung von With angeboten (siehe Abschnitt 2.6.3). Die Komponenten der ersten Variablen hätten dann wie folgt ihre Werte erhalten:

   ReDim PA.Kind(3)
With PA
.Nachname = "Hansen"
.Vorname = "Bernd"
.Kind(0) = "Svenja"
.Kind(1) = "Torsten"
.Kind(2) = "Gerd"
.PLZ = 74388
.Ort = "Bergstadt"
.GebDatum = "15.05.1975"
.Gehalt = 3522.55
End With


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Einstieg in Python






 Einstieg in Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern