Dringende Hilfe gesucht...Strings

I

InfoMaus

hi!
bin in sachen delphi oder überhaupt programmieren sehr unerfahren und hätte deswegen mal eine frage:
wenn ich zwei wörter(also 2 edit fenster) habe und möchte der reihe nach jeden buchstaben mit den restlichen vergleichen(so dass ich also am ende weiß, wie häufig jeder buchstabe insgesamt in beiden wörtern vorkommt), wie stelle ich das am besten an???
ein beispiel zum besseren verständnis:

habe die beiden wörter 'Baum' und 'Rabe'
also weiß ich danach dass das b einmal, das a zweimal, das u einmal, das m einmal, das r einmal und das e einmal vorkommt (würde ich am liebsten in einer listbox ausgeben, aber danach auch noch zu fragen, wäre wohl ein bissl unverschämt :rolleyes: )
würde mich sehr freuen, wenn mir jemand helfen könnte...:(
danke!
 

Patrick Kamin

Erfahrenes Mitglied
-

Ich habe dir schnell ein Programm in Pascal geschrieben, das verdeutlichen sollte, wie man das Problem angeht.
Wie man das Ergebnis in einer ListBox darstellt, kannst du der Delphi-Hilfe entnehmen.
Code:
program Count;
uses crt;

type
  TAbc = 'A'..'Z';
  TArray = array[TAbc] of Byte;

var
  Str1, Str2 : String;
  j : TAbc;
  ErgebnisArray : TArray;

procedure CountAbc(Str : String; var ErgebnisArray : TArray);
var
  i : Byte;
begin
  for i := 1 to length(Str) do
    inc(ErgebnisArray[Upcase(Str[i])]);
end;

begin
  clrscr;
  for j := 'A' to 'Z' do
    ErgebnisArray[j] := 0;
  Str1 := 'Baum';
  Str2 := 'Rabe';
  CountAbc(Str1, ErgebnisArray);
  CountAbc(Str2, ErgebnisArray);

  for j := 'A' to 'Z' do
    if ErgebnisArray[j] <> 0 then
      write(j, ' : ', ErgebnisArray[j]);

  readln;
end.