类 / 方法

type
  TLog = class
  public
    LastData: string;
    //var: the change is visible
    //to the caller
    procedure Print5(var Data: string);
  end;

procedure TLog.Print5(var Data: string);
begin
  LastData := Data;
  if Length(Data) > 5 then
    Data := Copy(Data, 15);
  WriteLn(Data);
end;

var
  Log: TLog;
  Data: string;
begin
  Log := TLog.Create;
  Data := '1234567';
  Log.Print5(Data);
  //printed '12345'

  WriteLn('lastData = ', Log.LastData);
  WriteLn('data = ', Data);
end.