Markus, die Aufgabenstellung klingt für mich immer noch etwas widersprüchlich. Sei mir also nicht böse, wenn ich sie immer noch falsch verstanden habe:
Delphi-Quellcode:
procedure AnalyzeKey (const aKey: string);
var
Msg : string;
Map : string;
Value : Integer;
ch : Char;
begin
Msg := 'Eingegebener Schlüssel: ' + aKey + #13#13;
// alle Stellen des Schlüssels verarbeiten
for ch in aKey do
begin
// eine Stelle in einen Zahlenwert umwandeln
Value := StrToIntDef('$' + ch, 0);
// Faktoren ermitteln, aus denen sich der Zahlenwert zusammensetzt
Map := '';
if Odd(Value) then Map := Map + '1 ';
if Odd(Value shr 1) then Map := Map + ' 2 ';
if Odd(Value shr 2) then Map := Map + ' 4 ';
if Odd(Value shr 3) then Map := Map + ' 8 ';
// Ergebnis an Ausgabetext anhängen
Msg := Msg + #13 + ch + ' -> ' + Map;
end;
// Ergebnis ausgeben
ShowMessage (Msg);
end;
Gruß Hawkeye