Changeset 4 for trunk/UAPI.pas
- Timestamp:
- Nov 23, 2014, 12:56:33 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UAPI.pas
r3 r4 6 6 7 7 uses 8 Classes, SysUtils, UList ;8 Classes, SysUtils, UList, UKernel, DateUtils, UMemory; 9 9 10 10 type … … 13 13 14 14 TAPI = class 15 Kernel: TKernel; 15 16 procedure WriteText(Text: string); 16 17 procedure Sleep(Time: TDateTime); 17 18 end; 18 19 19 { TApp }20 21 TApp = class(TNamedObject)22 API: TAPI;23 constructor Create; virtual;24 destructor Destroy; override;25 procedure Run; virtual;26 end;27 20 28 21 implementation … … 31 24 32 25 procedure TAPI.WriteText(Text: string); 26 var 27 Device: TDevice; 28 DataIn: TMemory; 33 29 begin 34 30 Device := TDevice(Kernel.Devices.FindByName('Serial0')); 31 if Assigned(Device) then begin 32 DataIn := TMemory.Create; 33 DataIn.Size := Length(Text); 34 Move(Text[1], DataIn.Data^, DataIn.Size); 35 Device.Service(0, DataIn, nil); 36 DataIn.Free; 37 end else raise Exception.Create('Device Serial0 not found'); 35 38 end; 36 39 37 40 procedure TAPI.Sleep(Time: TDateTime); 38 41 begin 39 42 SysUtils.Sleep(Trunc(Time / OneMillisecond)); 40 43 end; 41 44 42 { TApp }43 44 constructor TApp.Create;45 begin46 inherited Create;47 API := TAPI.Create;48 end;49 50 destructor TApp.Destroy;51 begin52 API.Free;53 inherited Destroy;54 end;55 56 procedure TApp.Run;57 begin58 59 end;60 45 61 46 end.
Note:
See TracChangeset
for help on using the changeset viewer.