WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Visual Basic (Rechenfehler) (http://www.wcm.at/forum/showthread.php?t=110592)

Robin Hood 30.09.2003 18:31

Visual Basic (Rechenfehler)
 
Möchte ein Spiel Programmieren in dem man die Anzahl der Einheiten die man bauen möchte in eine Textbox schreiben kann

Mein Problem:
Man kann auch halbe Einheiten bauen(und man kann Menschen so schlecht teilen
:) :) :) )
Wie kann ich dies verhindern?

Potassium 30.09.2003 18:41

wie wäre es wenn du die zahl als interger dimensionierst...
dann ist die zahl auf jedenfall ganzzahlig...und nimmer0.5

Robin Hood 30.09.2003 18:59

Ja nur das Problem is wenn ich die Textbox als Integer definiere und trotzdem eine Zahl schreib die kleiner als 1 ist (z.B: 0.5) dann schreibt VB (Visual Basic) eine Fehlermeldung.

renew 30.09.2003 19:14

Zitat:

Original geschrieben von Robin Hood
Ja nur das Problem is wenn ich die Textbox als Integer definiere und trotzdem eine Zahl schreib die kleiner als 1 ist (z.B: 0.5) dann schreibt VB (Visual Basic) eine Fehlermeldung.
dann musst du die eingabe halt vorher überprüfen, bevor zu sie in den Integer abspeicherst. ;)

Robin Hood 30.09.2003 21:15

Versteh ich irgendwie nicht ganz:

Wie soll ich sie überprüfen

If Text6 = Integer then ????

wbendl 30.09.2003 21:38

Hi!

Hier 2 Möglichkeiten, um zu eine ganzen Zahl zu kommen:

Int-, Fix-Funktionen (Beispiel) - von der MSDN-CD
In diesem Beispiel wird veranschaulicht, wie die Funktionen Int und Fix den ganzzahligen Teil einer Zahl zurückgeben. Bei negativen Zahlen liefert die Int-Funktion die erste ganze negative Zahl, die kleiner oder gleich der übergebenen Zahl ist, während die Fix-Funktion die erste negative ganze Zahl liefert, die größer oder gleich der übergebenen Zahl ist.

Dim Zahl1
Zahl1 = Int(99.8) ' Liefert 99.
Zahl1 = Fix(99.2) ' Liefert 99.

Zahl1 = Int(-99.8) ' Liefert -100.
Zahl1 = Fix(-99.8) ' Liefert -99.

Zahl1 = Int(-99.2) ' Liefert -100.
Zahl1 = Fix(-99.2) ' Liefert -99.

Übrigens solltest du immer überprüfen, ob eine Eingabe gültig ist.
Der User könnte ja (unabsichtlich?) Text oder wirres Zeug eingeben, und dein Programm baut einen unschönen Absturz.

mfg

WB

Robin Hood 01.10.2003 14:39

Danke
 
Vielen Dank
Jetzt können die Menschen nicht mehr geteilt werden


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag