Visual Basic Frage? For i - Next !

If txtGehalt.Text >= 100 Then

For i = 1 to 100

txtGehalt.Text = CDbl(txtGehalt.Text) - CDbl(100)

Next i

End Ifder soll bei 0 stehen bleiben aber läuft immer weiter bis -9900 durch :S

nehmen wir an wir haben 990 € also - 100 = 890 etc 790 690 590 490 390 290 190 90 so

jetzt stopp aber er macht -90… :S kann vllt jemand helfen

denn ohne das For i = 1 to 100 kommt das nicht vor

lg Chris

Hi,

If txtGehalt.Text \>= 100 Then
 For i = 1 to 100
 txtGehalt.Text = CDbl(txtGehalt.Text) - CDbl(100)
 Next i
End If

der soll bei 0 stehen bleiben aber läuft immer
weiter bis -9900 durch :S

das hast Du so geschrieben.

nehmen wir an wir haben 990 € also - 100 = 890 etc 790 690 590
490 390 290 190 90 so

jetzt stopp aber er macht -90… :S kann vllt jemand helfen

denn ohne das For i = 1 to 100 kommt das nicht vor

Deine Zählschleife ist falsch. Du willst doch gar nicht von 1 bis 100 zählen.

Do
 txtGehalt.Text = CDbl(txtGehalt.Text) - CDbl(100)
Loop While txtGehalt.Text \> 100

Gruß Rainer

If txtGehalt.Text >= 100 Then

For i = 1 to 100

txtGehalt.Text = CDbl(txtGehalt.Text) - CDbl(100)

Next i

End Ifder soll bei 0 stehen bleiben aber läuft immer
weiter bis -9900 durch :S

hallo Chris,

sorry, vielleicht blöde Frage, die Schleife soll bei 0 enden?

Warum nicht gleich so:

If txtGehalt.Text >= 100 Then txtGehalt.Text=0 '0der von mir aus „0“

Wozu die Schleife?

Gruß
Reinhard

Hallo Reinhard,

das Ergebnis ist:

txtGehalt.Text = txtGehalt.Text Mod 100

Aber die unterschiedlichen Schleifen wollte ich doch erklären. :smile:

Gruß Rainer

Okay

txtGehalt.Text = txtGehalt.Text Mod 100
Aber die unterschiedlichen Schleifen wollte ich doch erklären.

hallo Rainer,

ist ja okay, das mit dem Mod (nein, nicht du *gg*) habe ich beim zu flüchtigen Drüberlesen nicht erkannt.
Aber ist ja wurscht, egal ob der Anfrager 0 als Ergebnis will oder irgendwas mit Mod, dafür braucht man keine Schleife.

Wenn ich das korrekt erkannt habe bin ich doch froh und muß nicht zu Fielmann eilen :smile:)

Gruß
Reinhard