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, 1, 5);
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.