type
TLog = class
public
LastData: string;
//var: the change is visible
//to the caller
procedure PrintMax5(var Data: string);
end;
procedure TLog.PrintMax5(var Data: string);
begin
LastData := Data;
if Length(Data) > 5 then
Data := Copy(Data, 1, 5);
WriteLn(Data);
end;
var
Log: TLog;
Data: string;
begin
Log := TLog.Create;
Data := '1234567';
Log.PrintMax5(Data);
//printed '12345'
WriteLn('lastData = ', Log.LastData);
WriteLn('data = ', Data);
end.