Ignore:
Timestamp:
Jan 16, 2018, 4:06:32 PM (6 years ago)
Author:
chronos
Message:
  • Modified: Handle non-numeric input text for integer value as zero.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/easy compiler/USourceExecutor.pas

    r142 r144  
    8080  Value: TSourceValue;
    8181  ExecutorVar: TExecutorVariable;
     82  Text: string;
     83  IntValue: Integer;
    8284
    8385function ReadValueReference(Reference: TSourceReference): TSourceValue;
     
    135137          end else
    136138          if ExecutorVar.Value is TSourceValueInteger then begin
    137             TSourceValueInteger(ExecutorVar.Value).Value := StrToInt(FOnInput);
     139            Text := FOnInput;
     140            if TryStrToInt(Text, IntValue) then
     141              TSourceValueInteger(ExecutorVar.Value).Value := IntValue
     142              else TSourceValueInteger(ExecutorVar.Value).Value := 0;
    138143            FOnOutput(IntToStr(TSourceValueInteger(ExecutorVar.Value).Value) + LineEnding);
    139144          end else
Note: See TracChangeset for help on using the changeset viewer.