Variable! Wie geht das?

Mister master

Erfahrenes Mitglied
Ich bin (fast) Anfänger bei VB und habe eine sehr banale Frage:

Wie geht das mit Variablen?

Mein Problem ist, das ich etwas brauche, dass in einem Timer-Intervall von 100 ständig um 1 ansteigt. Bis jetzt habe ich mir da immer mit Textboxen beholfen, in denen der Wert ständig steigt, aber das wird auf Dauer unangenehm und man spamt sich selbst die Form voll.
 
was genau brauchst du?

willst du wissen was eine variable ist, wie sie funktioniert,.... oder wie du sie in der situation einesetzen kannst?
 
Also eigentlich müsste das gehn :\

es reicht auch sogar wenn du es einfach so machst:

Visual Basic:
Private Sub Timer1_Timer()
x = x + 1
End Sub

Mit Dim ist zwar sauberer aber VB braucht das nicht unbedingt

[EDIT]
sorry hab ich mich wohl geirrt ^^
Ich dachte wenn man x nichts zuweist ist es immer 0 naja..

Dann mach es so ;)

Visual Basic:
Dim x

Private Sub Form_Load()
x = 0
End Sub

Private Sub Timer1_Timer()
x = x + 1
Form1.Caption = x
End Sub

Das mit dem Caption ist natürlich nur ein Beispiel.
Ich danke was du vorher falsch gemacht hast war die Variable nicht oben zu initialisieren damit sie für alles "erreichbar" ist.
Wenn du sie zB in Form_Load initialisierst, als Dim test zB, dann ist sie auch nur in Form_Load verfügbar.
 
Zuletzt bearbeitet:
Mit Dim ist zwar sauberer aber VB braucht das nicht unbedingt

ist nicht nur sauberer sondern hat auch was mit Stil und vor allem Fehlervermeidung zu tun.

wenn ich Variablendeklaration erzwinge dann müssen alle meine Variablen dimensioniert sein. Sollte man immer einschalten da
Variable nicht gleich Variabel ist
und wenn man sich einmal vertippt hat man vielleicht nicht unbedingt das Ergebnis welches man erwartet.

Dein Problem mit x war das du x als Variant dimensioniert hast was von der Speicherauslastung her gesehen ganz übel ist. Hättest du eine Typendeklaration durchgeführt kuhlmaehn dann wäre x auch 0 gewesen
Dim x as Integer ist immer 0

Grüsse bb
 
@kuhlmaen:

Wenn "Option Explicit" gesetzt ist müssen Variablen mit "Dim" deklariert werden. Ohne "Option Explicit" kann man es weglassen (ist aber nicht zu empfehlen!).

Dim x hätte als Startwert "Empty" da hier ohne Typangabe automatisch der Typ Variant vergeben wird.

Dim x As Integer hätte als Startwert "0"

Dim x As String hätte als Startwert " "
 
Wenn du die Variable nur im Timer brauchst, kannst du sie als Static dimensionieren:
Visual Basic:
Private Sub Timer1_Timer()
Static x As Integer 'z.B. als Integer, Wertebereich von -32767 bis 32767
x = x + 1
Me.Caption = x
End Sub
Hat den Vorteil, dass die Variable wirklich nur im Timer benutzt wird und in keiner anderen Prozedur im Projekt geändert werden kann.


Der Doc!
 
Hallo,

Original von ojamaney
Wenn "Option Explicit" gesetzt ist müssen Variablen mit "Dim" deklariert werden....
Diese Formulierung ist absolut und stimmt daher so nicht. Dim ist nur eines der möglichen Schlüsselworte zur Deklaration. Derer gibt es weitere, etwa Public oder Private --> Stichwort: Datenkapselung. Du hast insofern recht, als das man Variablen deklarieren muss.

Gruß
 
Zurück