Ignore:
Timestamp:
Oct 9, 2024, 9:14:47 PM (13 days ago)
Author:
chronos
Message:
  • Added: File system file read.
  • Added: AppCode can process commands with single parameter.
Location:
branches/Independent
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/Independent

    • Property svn:ignore set to
      lib
      Independent
      Independent.lps
      Independent.res
  • branches/Independent/Os.pas

    r64 r65  
    44
    55uses
    6   Classes, SysUtils, Generics.Collections, DateUtils, Api, Console;
     6  Classes, SysUtils, Generics.Collections, DateUtils, Api, Console, FileSystem;
    77
    88type
     
    4444  private
    4545    FName: string;
    46     procedure PrintHelloWorldSync;
     46    FText: string;
     47    procedure WriteLineSync;
    4748    procedure RunAppSync;
    4849  public
    4950    App: TRunningApp;
    5051    System: TSystem;
    51     procedure PrintHelloWorld; override;
     52    procedure WriteLine(Text: string); override;
    5253    procedure RunApp(Name: string); override;
    5354    procedure Sleep(Time: TDateTime); override;
     
    5859  TSystem = class
    5960    Console: TConsole;
     61    FileSystem: TFileSystem;
    6062    Apps: TApps;
    6163    RunningApps: TRunningApps;
     
    124126{ TSystemApi }
    125127
    126 procedure TSystemApi.PrintHelloWorldSync;
    127 begin
    128   System.Console.Write(App.App.Name + ': Hello world!');
     128procedure TSystemApi.WriteLineSync;
     129begin
     130  System.Console.Write(App.App.Name + ': ' + FText);
    129131end;
    130132
     
    134136end;
    135137
    136 procedure TSystemApi.PrintHelloWorld;
    137 begin
    138   App.AppThread.Synchronize(PrintHelloWorldSync);
     138procedure TSystemApi.WriteLine(Text: string);
     139begin
     140  FText := Text;
     141  App.AppThread.Synchronize(WriteLineSync);
    139142end;
    140143
     
    165168
    166169procedure TSystem.Start;
    167 begin
     170var
     171  AppCode: TAppCode;
     172begin
     173  Apps.AddNew(TAppTest);
     174  AppCode := TAppCode(Apps.AddNew(TAppCode));
     175  AppCode.Code.Text := FileSystem.LoadFile('Code.exe');
     176
    168177  RunApp('Test');
    169178  RunApp('Test');
     
    174183begin
    175184  Console := TConsole.Create;
     185  FileSystem := TFileSystem.Create;
    176186  RunningApps := TRunningApps.Create;
    177187  Apps := TApps.Create;
    178   Apps.AddNew(TAppTest);
    179   Apps.AddNew(TAppCode);
    180188end;
    181189
     
    185193  FreeAndNil(RunningApps);
    186194  FreeAndNil(Console);
     195  FreeAndNil(FileSystem);
    187196  inherited;
    188197end;
Note: See TracChangeset for help on using the changeset viewer.