Hai the_source,
"Herzlich Willkommen in der Delphi-PRAXiS"
hier mal ein Grundgerüst wie ich da ran gehen würde:
Delphi-Quellcode:
type
TCounterArray = array [1..255] of Cardinal;
procedure InitCounterArray(var aArray: TCounterArray);
var
ndx: Integer;
begin
for ndx := Low(aArray) to High(aArray) do
begin
aArray[ndx] := 0;
end;
end;
procedure CountChars(var aArray: TCounterArray; aValue: string);
var
ndx: Integer;
begin
for ndx := 1 to Length(aValue) do
begin
aArray[Ord(aValue[ndx])] := aArray[Ord(aValue[ndx])] + 1;
end;
end;
procedure TDemoForm.btn_testClick(Sender: TObject);
var
s: string;
myArray: TCounterArray;
begin
InitCounterArray(myArray);
s := 'sdöfljösdlafjpoweiurpowejrsnadöflkasdfsdf';
CountChars(myArray, s);
end;
In dem Array hast Du jetzt für jeden Buchstaben den Wert wie oft er in dem String s vorkommt. Dieses Array könntest Du jetzt zum Beispiel sortieren.
[edit]aArray als Var-Parameter übergeben
Stephan B.