Dim ?

Hallo

Ich habe eine Stopuhr vom Internet heruntergeladen. Und in
der Code heisst es:

Option Explizit
Dim Start As Date

UND NATÜRLICH NOCH MEHR.

Und meine Frage ist jetzt was beteutet As Date, hätte man nicht
einfach Dim Start schreiben können???

Gruss Beni

Hi!

Und in der Code heisst es:

Option Explizit
Dim Start As Date

UND NATÜRLICH NOCH MEHR.

Und meine Frage ist jetzt was beteutet As Date, hätte man
nicht einfach Dim Start schreiben können???

Zunächst mal würde es mich wundern, wenn dort wirklich „Explizit“ stehen würde anstelle von „Explicit“. Und was Deine Frage angeht: „AS Date“ bedeutet, das Start von vornherein den Datentyp „Date“ bekommt. Anweisungen wie Start = „Hallo“ führen damit unweigerlich zu einer Fehlermeldung. Man hätte diese Angabe auch weglassen können - in diesem Fall wäre Start eine Variable mit dem Typ „Variant“. Hat zwei Nachteile: 1) Es ist ein unsauberer Programmierstil - schliesslich SOLL Start ja vom Typ „Date“ sein, Zuweisungen wie die oben erwähnte DARF es also gar nicht geben 2) Es verbraucht mehr Speicher, da VB Platz für jeden nur vorstellbaren Datentyp schaffen muss, statt sich auf „Date“ zu beschränken.

Ciao, Thomas

PS: Und wo wir gerade beim Weglassen sind: Auch „Option Explicit“ kann man weglassen. Ist aber ebenso unsauberer Stil.

Um das noch mehr zu veranschaulichen:

Wenn man ohne Datentypen-Angabe eine Variable deklariert, wird der größtmögliche Datentyp im Speicher allokiert. Das wäre also der Typ Variant, welcher 22 Bytes (exkl. String-Länge) frißt.
Im Gegensatz dazu hat der Datentyp Date ein Größe von 8 Bytes, was beinahe 1/3 des Typs Variant sind!!!

BTW: Option Explicit erzwingt dei Deklaration von Variablen. Ohne diese Option könnte man ohne ein „Dim i As Integer“ den Werte direkt zuweisen: i = 256