home *** CD-ROM | disk | FTP | other *** search
- { Declarations from the interface section of Listing 3-1 }
-
- DInput = object(Digital)
- Setpoint : real;
- Reading : real;
- procedure PutSetpoint( NewSetpoint : real );
- end;
-
- HiSwitch = object(DInput)
- procedure Init( ATag : string;
- ASetpoint : real;
- AReading : real);
- procedure PutReading( NewReading : real );
- end;
-
- LoSwitch = object(DInput)
- procedure Init( ATag : string;
- ASetpoint : real;
- AReading : real);
- procedure PutReading( NewReading : real );
- end;
-
-
- { Procedure definitions from the implementation section of Listing 3-1 }
-
- procedure LoSwitch.Init( ATag : string;
- ASetpoint : real;
- AReading : real);
- begin
- Tag.Init( ATag );
- DInput.PutSetpoint( ASetpoint );
- PutReading( AReading );
- end;
-
- procedure LoSwitch.PutReading( NewReading : real );
- begin
- Reading := NewReading;
- if Reading <= Setpoint then
- Status := true
- else
- Status := false;
- end;
-
- procedure HiSwitch.Init( ATag : string;
- ASetpoint : real;
- AReading : real);
- begin
- Tag.Init( ATag );
- DInput.PutSetpoint( ASetpoint );
- PutReading( AReading );
- end;
-
- procedure HiSwitch.PutReading( NewReading : real );
- begin
- Reading := NewReading;
- if Reading >= Setpoint then
- Status := true
- else
- Status := false;
- end;
-
-
- { Listing 5-3 }