Galileo Computing < openbook > Galileo 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 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 8,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
Pfeil 4 Erweiterte Grundlagen
  Pfeil 4.1 Fokus, Sichtbarkeit, Aktivierungszustand
    Pfeil 4.1.1 Ereignis GotFocus
    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 EreigniskeEreigniskettette
    Pfeil 4.3.2 Endlose Ereignisketten
    Pfeil 4.3.3 Textfelder koppeln
  Pfeil 4.4 Datenfelder
    Pfeil 4.4.1 Eindimensionale statische Datenfelder
    Pfeil 4.4.2 Ein Feld durchsuchen
    Pfeil 4.4.3 Weitere Feld-Operationen
    Pfeil 4.4.4 Mehrdimensionale statische Datenfelder
    Pfeil 4.4.5 Datenfelder initialisieren
    Pfeil 4.4.6 Datenfelder sind dynamisch
  Pfeil 4.5 Strukturen
  Pfeil 4.6 Prozeduren und Funktionen
    Pfeil 4.6.1 Prozeduren
    Pfeil 4.6.2 Übergabe per Referenz
    Pfeil 4.6.3 Funktionen
    Pfeil 4.6.4 Optionale Argumente
    Pfeil 4.6.5 Beliebig viele Argumente
    Pfeil 4.6.6 Datenfelder als Argumente
    Pfeil 4.6.7 Rekursiver Aufruf
    Pfeil 4.6.8 Übungen zu Prozeduren und Funktionen


Galileo Computing - Zum Seitenanfang

4.5 Strukturen  topZur vorigen Überschrift

Strukturen sind benutzerdefinierte Datentypen. In ihnen 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.

Daten zusammenfassen

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

Im folgenden Beispiel (p0415) wird eine Struktur modulweit 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« an eine andere Variable des gleichen Typs übergeben.

Public Class frm0415 
   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

Abbildung 4.21  Anzeige der Strukturvariablen

Zur Erläuterung:

    Structure

  • Innerhalb von Structure ... End Structure wird der Aufbau des benutzerdefinierten Datentyps festgelegt. Eine Strukturdefinition muss immer modulweit 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 Feld. Bei der Definition eines Felds innerhalb einer Struktur darf die Feldgröß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: Man kann 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.4.6 über dynamische Datenfelder).
  • Die Zuweisung PB = PA sorgt dafür, dass man auch über PB auf die Komponenten der Variablen PA zugreifen kann.
  • 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-Indizes zum Einsatz.

With

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


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de