Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 3 Hinweise zu VB.NET
|  | 3.1 Eine Testumgebung
|  | 3.2 Variablen
|  |  | 3.2.1 Bezeichner
|  |  | 3.2.2 VB.NET-Datentypen
|  | 3.3 Konstanten
|  | 3.4 Typkonvertierungen
|  | 3.5 Kontrollstrukturen
|  |  | 3.5.1 Entscheidungen mit If
|  |  | 3.5.2 Select Case
|  |  | 3.5.3 Zählschleife mit For Next
|  |  | 3.5.4 Schleife mit Do Loop
|  |  | 3.5.5 Schleife mit While
|  | 3.6 Funktionen und Prozeduren
|  |  | 3.6.1 Aufbau
|  |  | 3.6.2 Übergabe von Parametern
|  | 3.7 Klassen erstellen
|  |  | 3.7.1 Eigenschaften einer Klasse über Felder realisieren
|  |  | 3.7.2 Eigenschaften mit Property-Prozeduren realisieren
|  |  | 3.7.3 Schreibgeschützte Eigenschaften
|  |  | 3.7.4 Methoden erstellen
|  |  | 3.7.5 Konstruktor erstellen
|  |  | 3.7.6 Klassen vererben
|  | 3.8 Mit Objekten arbeiten
|  |  | 3.8.1 Objekte vergleichen
|  |  | 3.8.2 Den Typ eines Objekts bestimmen
|  |  | 3.8.3 Objekte in andere Klassen konvertieren
|  | 3.9 Arbeiten mit Arrays
|  | 3.10 Dateizugriffe
|  | 3.11 Fehlerbehandlung mit Try ... Catch ... Finally ... End Try
## 3.2 Variablen Herkömmliche Programmiersprachen, dazu zählt auch VB 6, unterscheiden zwischen zwei Arten von Variablen. Da gibt es einerseits die so genannten primitiven Datentypen wie etwa String, Integer, Boolean usw. Andererseits gibt es die komplexen Datentypen, wie etwa die Klassen, von denen sich einzelne Objekte erstellen lassen. Diese Unterscheidung gibt es in VB.NET nicht mehr. In VB.NET ist alles ein Objekt. Auch Variablen der so genannten primitiven Datentypen werden als Objekt gespeichert und können als solche verarbeitet werden. Auf den ersten Blick fällt das aber gar nicht auf. Erst wenn man mit VB.NET arbeitet, lernt man allmählich die Vorzüge dieses Systems kennen. ### 3.2.1 Bezeichner Die Namen von Variablen, Konstanten, Klassen, Methoden etc. müssen mit einem alphabetischen Zeichen oder einem Unterstrich beginnen. Nicht erlaubt sind Zahlen als erstes Zeichen. VB.NET unterscheidet bei Bezeichnern nicht zwischen Groß- und Kleinschreibung. Die alte VB-Tradition, dass man den Datentyp einer Variablen mit einem Typzeichen am Ende des Variablennamens angeben kann, kennt auch VB.NET.
Tipp Diese Typzeichen sollten Sie auch dann kennen, wenn Sie diese veraltete Konvention nicht verwenden, damit Sie nicht versehentlich eine Variable mit einem falschen Datentyp erstellen. Diese Typzeichen sind: Integer % Long & Decimal @ Single ! Double # String $
Die folgenden Zeilen deklarieren beispielsweise eine Variable vom Typ Single und weisen der Variablen einen Wert zu. Nach der Deklaration kann das Typzeichen am Ende des Variablennamens im Code weiterverwendet werden. Es kann aber auch entfallen.
    Dim myZahl!
    myZahl! = 3.4
    myZahl = 0.5
### 3.2.2 VB.NET-Datentypen
VB.NET-Datentyp | Common-Language- Runtime-Typstruktur | Wertbereich
--- | --- | ---
Boolean | System.Boolean | True oder False
Byte | System.Byte | 0 bis 255 (ohne Vorzeichen)
Char | System.Char | 0 bis 65. 535 (ohne Vorzeichen)
Date | System.DateTime | 0:00:00, 1. Januar 0001 bis 11:59:59 PM (USA), 31. Dezember 9999
Decimal | System.Decimal | 0 bis +/– 79.228.162.514.264.337.593.543.950.335 ohne Dezimaltrennzeichen; 0 bis +/–7,9228162514264337593543950335 mit 28 Stellen rechts vom Dezimalkomma; die kleinste Zahl ungleich 0 lautet +/–0,0000000000000000000000000001 (+/–1E–28)
Double (Gleitkommawert mit doppelter Genauigkeit) | System.Double | –1,79769313486231570E+308 bis –4,94065645841246544E–324 für negative Werte; 4,94065645841246544E–324 bis 1,79769313486231570E+308 für positive Werte
Integer | System.Int32 | –2.147.483.648 bis 2.147.483.647
Long (lange ganze Zahl) | System.Int64 | –9.223.372.036.854.775. 808 bis 9.223.372.036.854.775.807
Object | System.Object (Klasse) | In einer Variablen vom Typ Object kann jeder beliebige Typ gespeichert werden.
Short | System.Int16 | –32.768 bis 32.767
Single (Gleitkommawert mit einfacher Genauigkeit) | System.Single | –3,4028235E+38 bis –1,401298E–45 für negative Werte; 1,401298E–45 bis 3,4028235E+38 für positive Werte
String (variable Länge) | System.String (Klasse) | 0 bis ungefähr 2 Milliarden Unicode–Zeichen
Tabelle 3.1 Datentypen von VB.NET Tabelle 3.1 listet die in VB.NET verfügbaren Datentypen auf. Mit der Anweisung Dim deklarieren Sie eine Variable des entsprechenden Typs.
    Dim i As Integer       ' Legt die Integer-Variable i an
    Dim j As Integer = 42  ' Integer-Variable mit Startwert
    Dim a, b, c As Integer ' drei Integer-Variablen
    Dim o As Object        ' Variable vom Typ "Object"
    Dim x          ' Variable vom Typ "Object" oder
                   ' bei Strict="True" eine Fehlermeldung
Wenn bei der Deklaration einer Variablen kein Datentyp angegeben wird, erstellt VB.NET eine Variable vom Typ Object. Das funktioniert aber nur dann, wenn Sie Option Strict auf False stellen, sonst gibt VB.NET eine Fehlermeldung aus. Die Tatsache, dass auch Variablen der so genannten primitiven Datentypen Instanzen von Klassen sind, ermöglicht zahlreiche interessante Anwendungen. Dort, wo im klassischen Visual Basic eigene Befehle nötig sind, können Sie in VB.NET die Methoden und Eigenschaften der jeweiligen Klasse verwenden. #### System.String Hier einige Beispiele, wie Sie die Methoden und Eigenschaften der Klasse System.String einsetzen können.
    <!-- vb_02.aspx -->
    <%@ Page Language="VB" Debug="True" Strict="True" %>
    <script runat="server">
    Sub Page_Load (ByVal Sender As Object, _
                   ByVal E As EventArgs)
       Dim t As String
       Dim a As String
       t = "Test"
       a = t & " ist " & t.Length & " Zeichen lang. "
       a &= "Das erste Zeichen ist ein " & t.Chars(0)
       ausgabe.innerText = a
    End Sub
    </script>
    <html><head><title>
    Einstieg in VB.NET
    </title></head>
    <body>
    <h3>Einstieg in VB.NET</h3>
    <p id="ausgabe" runat="server"></p>
    </body></html>
Abbildung 3.1 zeigt die Ausgabe des Browsers. Hier klicken, um das Bild zu Vergrößern Abbildung 3.1 Bei VB.NET sind alle Variablen Objekte, die über eigene Methoden und Eigenschaften verfügen. Zunächst deklarieren Sie eine Variable vom Typ String und weisen der Variablen einen Wert zu:
    Dim t As String
    t = "Test"
Mit t.Length können Sie die Länge des Strings ermitteln und mit t.Chars(0) bringen Sie das erste Zeichen des Strings in Erfahrung. Die Klasse String stellt zahlreiche weitere Eigenschaften und Methoden dieser Art zur Verfügung.
| Vergleiche führen Sie mit CompareTo, Equals, StartsWith, EndsWith durch.
| Mit CopyTo, Split und Substring können Sie den String auswerten und weiterverarbeiten.
| Für Suchvorgänge stehen IndexOf, IndexOfAny, LastIndexOf, LastIndex OfAny zur Verfügung.
| Bearbeitungen führen Sie mit Insert, PadLeft, PadRight, Remove, Replace, ToLower, ToUpper, Trim, TrimStart und TrimEnd durch.
| Außerdem bietet die Klasse System.String die statischen Methoden Compare, CompareOrdinal, Concat, Copy, Format und Join an. Diese können Sie unabhängig von einer konkreten String-Variablen einsetzen.
Da die einzelnen Methoden oft mehrfach überladen sind, entnehmen Sie die jeweiligen Aufrufdetails am besten der Dokumentation. Eine genaue Auflistung aller Optionen würde den Rahmen dieses Kapitels sprengen. Für String-Verkettungen können Sie in VB.NET den Operator &= verwenden: Der Ausdruck s = s & "A" ist äquivalent zu s &= "A".
    Dim s As String = ""
    Dim i As Integer
    For i = 1 to 4
       s &= "A"
    Next
    ausgabe.innerText = s ' "AAAA"
#### System.Int32 und andere Zahlentypen Die Datentypen für die Darstellung von Zahlen haben weniger Eigenschaften und Methoden als der Typ String. Als Beispiel soll der häufig verwendete Typ System.Int32 vorgestellt werden, der dem VB.NET-Typ Integer entspricht. Die öffentlichen statischen Felder MaxValue und MinValue geben jeweils den größten und kleinsten zulässigen Wert aus. ToString konvertiert die Zahl in einen String. Die statische Methode Parse lässt sich beispielsweise verwenden, um eine Benutzereingabe, die als String vorliegt, in einen Integer-Wert zu konvertieren. Wenn die Konvertierung nicht möglich ist, generiert VB.NET eine Ausnahme. CompareTo und Equals führen Vergleiche durch.
Achtung Der folgende Code löst einen Fehler aus.
    Dim a As Short = 1000
    Dim b As Short = 40
    Dim c As Integer
    c = a * b
Die Fehlermeldung lautet: Die arithmetische Operation hat einen Überlauf verursacht. Wenn man die Berechnung nachvollzieht, ist aber kein Überlauf zu erkennen. Das Ergebnis soll in der Integer-Variablen c abgelegt werden, und der VB.NET-Typ Integer reicht bis zwei Milliarden. Der Fehler tritt auf, weil der Compiler beim Berechnen temporäre Variablen anlegt, die in diesem Fall ebenfalls vom Typ Short sind. Genauer gesagt verwendet der Compiler stets den größten Typ, der innerhalb eines Ausdrucks verwendet wird, und das ist hier Short. Short reicht aber nur bis 32.767. Um diesen Fehler zu vermeiden, können Sie die Multiplikation beispielsweise so formulieren:
    c = a * CInt(b)
Indem Sie b zunächst in den Typ Integer umwandeln, verwendet VB.NET temporäre Variablen vom Typ Integer, bei denen es nicht zum einem Überlauf kommt. Tabelle 3.2 nennt die verfügbaren mathematischen Operatoren.
Operator | Beschreibung
--- | ---
^ | Potenz, 2^10 ergibt 1024
* | Multiplikation
/ | Dividiert zwei Zahlen. Gibt ein Gleitkomma-Ergebnis zurück
\ | Dividiert zwei Zahlen und gibt nur den ganzzahligen Teil des Ergebnisses zurück. 11\2 ergibt 5.
Mod | Modulo-Berechnung. 11 Mod 2 ergibt 1 (5 Rest 1).
+ | Addition, kann auch Strings verketten
- | Subtraktion, kann auch als Vorzeichen verwendet werden
Tabelle 3.2 Mathematische Operatoren
Tipp Die .NET-Klasse System.Math bietet weitere Funktionen für trigonometrische Berechnungen und für Rundungen.
#### System.DateTime Der VB.NET-Datentyp Date entspricht dem CLR-Typ System.DateTime. Er speichert ein Datum und eine Uhrzeit.
    Dim d As Date
    d = #12/31/2004#
    ausgabe.innerText = d.toString()
    ' Die Ausgabe im Browser lautet: 31.12.2004 00:00:00
Ein Datumsliteral weisen Sie in Doppelkreuzen im amerikanischen Format MM/TT/JJJJ zu. Wenn Sie ein Datum ausgeben, indem Sie es beispielsweise mit toString() in einen String umwandeln, berücksichtigt .NET stets die kulturellen Einstellungen. In einem deutschen Browser erscheint also beispielsweise die Angabe: 31.12.2004 00:00:00 Eine DateTime-Variable deckt die Zeit vom 1. Januar 0001 bis zum 31.12.9999 ab. Das dürfte für viele Aufgaben ausreichen. Ähnlich wie der Typ String verfügt auch der Typ DateTime über zahlreiche Eigenschaften und Methoden, die die Arbeit mit Daten dieses Typs erleichtern.
| Die einzelnen Bestandteile einer DateTime-Variablen rufen Sie mit den Eigenschaften Date, Day, DayOfWeek, DayOfYear, Hour, Millisecond, Minute, Month, Second, Ticks, TimeOfDay und Year ab.
| Die statischen Eigenschaft Now, Today und UtcNow nennen das aktuelle Datum und die Uhrzeit in diversen Ausgabevarianten.
| Mit einer langen Liste von Methoden erleichtert .NET das Rechnen mit Datumsangaben erheblich. Mit Add, AddDays, AddHours, AddMilliseconds, AddMinutes, AddMonths, AddSeconds, AddTicks und AddYears können Sie Zeitspannen hinzuaddieren und mit Subtract subtrahieren. Tipp am Rande: Wenn Sie einen negativen Wert addieren, dann wird auch subtrahiert.
| Datumsvergleiche führen CompareTo und Equals durch.
| Ausgaben in diverse Formate führen ToFileTime, ToLocalTime, ToLongDateString, ToLongTimeString, ToOADate, ToShortDateString, ToShortTimeString, ToString und ToUniversalTime durch.
| Die DateTime-Klasse stellt außerdem die statischen Methoden Compare, DaysInMonth, FromFileTime, FromOADate, IsLeapYear, Parse und ParseExact zur Verfügung.
Beim Hantieren mit Zeit- und Datumsangaben ist außerdem der Typ TimeSpan sehr nützlich. In TimeSpan-Objekten können Sie Zeitintervalle definieren. Auf diese Weise können Sie beispielsweise zu einem gegebenen Datum die Zeitspanne von 30 Tagen hinzuaddieren und erhalten das gewünschte Datum. Dabei müssen Sie sich nicht selbst um die unregelmäßige Anzahl von Tagen der einzelnen Monate oder um Schaltjahre kümmern. Das erledigt .NET für Sie. Wenn Sie dem TimeSpan-Konstruktor drei Integer-Werte als Parameter übergeben, betrachtet er die Werte als Stunden, Minuten und Sekunden. Bei vier Parametern nimmt er Tage, Stunden, Minuten und Sekunden entgegen. Auch die TimeSpan-Struktur verfügt ähnlich wie die DateTime-Klasse über eine lange Liste an Eigenschaften und Methoden, die Sie sich in der Dokumentation näher ansehen sollten, wenn Sie mit Datumsangaben hantieren. vb_03.aspx enthält einige Zeilen Beispielcode, die den Umgang mit Datumsangaben demonstrieren.
    Dim d As Date
    Dim x As Date
    Dim ts As TimeSpan

    d = now
    ausgabe.innerHTML = "ToString: "
    ausgabe.innerHTML &= d.ToString ' 25.09.2002 15:27:35
    ausgabe.innerHTML &= "<br>ToShortDateString: "
    ausgabe.innerHTML &= d.ToShortDateString ' 25.09.2002
    ausgabe.innerHTML &= "<br>ToShortTimeString: "
    ausgabe.innerHTML &= d.ToShortTimeString ' 15:27

    x = d.AddDays(30)
    ausgabe.innerHTML &= "<br>AddDays(30): "
    ausgabe.innerHTML &= x.ToShortDateString ' 25.10.2002

    ' 3 Tage, 4 Stunden, 5 Minuten, 6 Sekunden
    ts = New TimeSpan (3,4,5,6)
    x = d.add (ts)
    ausgabe.innerHTML &= "<br>plus 3 Tage, 4h 5m 6s: "
    ausgabe.innerHTML &= x.toString ' 28.09.2002 19:32:41
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

Copyright © Galileo Press GmbH 2003
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 GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de