<div dir="ltr">Hello,<div><br></div><div>Today I compiled my FPC from trunk and saw the following possibility:</div><div><br></div><div><div> { TIntegerHelper }</div><div><br></div><div> TIntegerHelper = record helper for Integer</div><div> function ToString: string;</div><div> end;</div><div><br></div><div>...</div><div><br></div><div><div>{ TIntegerHelper }</div><div><br></div><div>function TIntegerHelper.ToString: string;</div><div>begin</div><div> Result := IntToStr(Self);</div><div>end;</div></div><div><br></div><div>...</div><div><br></div><div><div>var</div><div> I: Integer = 123;</div><div>begin</div><div> WriteLn(I.ToString); // Prints 123</div><div>end.</div></div><div><br></div><div>Or:</div><div><br></div><div><div> { TStringHelper }</div><div><br></div><div> TStringHelper = record helper for String</div><div> function ToUpperCase: string;</div><div> end;</div></div><div><br></div><div>...</div><div><br></div><div><div>uses</div><div> LazUTF8;</div><div><br></div><div>{ TStringHelper }</div><div><br></div><div>function TStringHelper.ToUpperCase: string;</div><div>begin</div><div> Result := LazUTF8.UTF8UpperCase(Self);</div><div>end;</div></div><div><br></div><div>...</div><div>var</div><div> S: UTF8String = 'atenção';</div><div>begin</div><div> WriteLn(S.ToUpperCase); // Prints ATENÇÃO</div><div> // or</div><div> WriteLn('atenção'.ToUpperCase); // Prints ATENÇÃO<br></div><div>end.</div><div><br></div><div>It's evolution, baby! =)</div><div><br></div><div>Thanks alot for this great implementation, FPC team! (and special thanks to Sven!) =D</div><div><br></div>-- <br><div class="gmail_signature">Silvio Clécio<br>My public projects - <a href="http://github.com/silvioprog" target="_blank">github.com/silvioprog</a></div>
</div></div>