Below is an unedited cut-and-paste from MCS. Even when I go back and try to clean it up, the final results look terrible. I'd post more code if it didn't look so bad.
Code:
GetNum:
Result =
0
MaxNum =
5 ; set for max number of digits you will
accept
YY =
1
POSN=0
IsNeg =
0
TimedOut =
0
ArrayWrite InputString,[Rep
$FF\8] ; Fill with
$FF
GetMoreN:
HSERIN
9000,InputTimeout,[Keyin]
IF Keyin = ESC THEN
ZeroNum
If
Keyin = CR THEN
DunInputn
If allowNeg
then
IF
Keyin = "-" and Posn = 0 THEN
IsNeg =
1
Hserout
["-"]
goto
GetMoreN
ENDIF
endif
IF Keyin
= BS
THEN
HSEROUT
[BS,SP,BS]
IF POSN > 0
THEN
POSN = POSN -
1
InputString [POSN] =
$FF
GOTO
GetMoreN
ENDIF
ENDIF
IF Keyin < "0" or Keyin
> "9" THEN GetMoreN
HSEROUT
[Keyin]
InputString [POSN] = Keyin
- "0"
IF POSN >= (MaxNum -1)
THEN DunInputN
POSN = POSN
+1
GOTO
GetMoreN
DunInputN:
For xN = 7
to 0 STEP - 1
IF InputString[XN]= 255 THEN
NoMoreNum
Result = Result +
(InputString[xN]*YY)
YY = YY
*10
NoMoreNum:
Next
XN
If Isneg
then
If result <
32768
then
Result = 0 - Result
else
Bookmarks