![]() |
|
|||||
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.StringHier 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.
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.
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 ZahlentypenDie 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.
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.
Tabelle 3.2 Mathematische Operatoren
System.DateTimeDer 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.
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
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.