Anfänger Frage zu Variablen

SimBla

Grünschnabel
Hallo,

habe heute morgen nach Jahren mal wieder mein Visual Basic ausgepackt um mir ein kleines tool zu bastelnn.

Leider bekomme ich das deklarieren von Variablen nicht mehr hin.
Mein Code sieht so aus:

----------------------------------------------
Private Sub Form_Load()
Dim var1 As Integer
var1 = 0
Text1.Text = var1
End Sub

Private Sub Command1_Click()
var1 = var1 + 1
Text1.Text = var1
End Sub
----------------------------------------------

Also,
var1 wird am Anfang auf 0 gesetzt und soll danach wenn ich den Button drück mit 1 addiert werden. Das ergebnis (1) soll dann im Textfeld ausgegeben werden.

Das funktioniert allerdings nur einmal, beim zweiten mal müsste im Textfeld 2 stehen. Das geht leider nicht...

Gruß
SimGeh
 
Variablen, die du in einer Prozedur dimensionierst, sind auch nur in dieser Prozedur gültig. Richtigerweise sollte es also so aussehen:
Visual Basic:
Dim var1 As Integer

Private Sub Form_Load()
var1 = 0
Text1.Text = var1
End Sub

Private Sub Command1_Click()
var1 = var1 + 1
Text1.Text = var1
End Sub


Der Doc!
 
Hi,

wie DrSoong schon sagte: die Variable ist zunächst nur innerhalb der Form_Load-Methode gültig und wird danach verworfen. Command1_Click legt eine neue Variable vom Typ Variant an. Um solche Probleme zu vermeiden, würde ich dir empfehlen, "Option Explicit" einzuschalten - damit bist du gezwungen, Variablen zu deklarieren und der Compiler meldet sich, wenn irgendwo nicht deklarierte Variablen stehen.

Grüße, D.
 
Zurück