OOP organized RTL
Add TString class with basic operations
Isn't it a high time to become a more OOP oriented?
IOUtils is a good starting point in this direction.
Now lets make a static class TString with static memebers for Concat, Split, Join, Replace, EndsWith, StartsWith, Contains, Copy, Remove, etc.
Just take the .NET String class members and make a Delphi version.
I am not insisting on haing Strings being theated like objects, just keen on having one
TString.Replace(buffer, 'Gad D Lord', 'author')
with first paramter the instance to operate over.
I really hate to rememeber whether SysUtils or StrUtils is what I should include in my uses clause.
If you find difficulties in achieving this I can share my personal TString implementation (and maybe also my TEnvironment, TPath, TDirectory, TFile, TEventLog, TProcess, TTDateTime, etc.)
Delphi is supposed to be an OOP language and yet it uses functions extensively in its RTL/VCL. Why?