Is it possible to alphabetically rearrange a string in [D]elphi[?]
This is a slightly strange question, because its answer is trivially "Yes, of course".
Also, if you have a basic understanding of Delphi strings and sorting algorithms, implementing this isn't difficult. So a grumpy Stack Overflow user may ask you to simply learn these two subjects separately, and then use the combined knowledge to solve the task.
However, perhaps the actual question is instead, "Is there a canonical (or simple) way to do this in modern Delphi versions?"
If so, the question becomes more interesting, and actually very answerable:
var A := 'strong'.ToCharArray;
TArray.Sort<Char>(A);
ShowMessage(string.Create(A));
if you only include Generics.Collections.
The first line declares a variable A. Its type is determined automatically and is TArray<Char>, that is, a dynamic array of Char (two-byte Unicode characters). The value of A is simply the array of characters of the string: 's', 't', 'r', 'o', 'n', 'g'.
The second line sorts this array using the default comparer. Thus A becomes 'g', 'n', 'o', 'r', 's', 't'. You may use an overloaded method to specify a different comparer which takes into account the current locale, for instance.¹
The third line creates a new string from this character array, 'gnorst', and displays it in a message box.
A decade or two ago, there were no string.ToCharArray, TArray, or string.Create. But of course you could manually (and easily) obtain a character array from a string, sort this using the methods you learned in Computer Science 101, and then create a new string from this array. Or, if you wanted to be smart, you could do this in-place in the string heap object.
¹ Actually, sorting "alphabetically" is much more involved than you may think. For instance, how do you sort "aAÅÄäåáÀ☃4ΑÄãâĀ"? Will the result be the same in Sweden and in Germany? Also please note the difference between Ä and Ä and between A and Α.)