Uděláš si pole, které bude od ASCII 0 do 255, takže
pole = array[0..255] of Char;
Na místa, kam chceš jiné znaky si napíšeš jiné znaky, např. na pozici znaku 'A' zapíšeš do pole '+'
Budeš přistupovat na index, který by mělo písmeno 'A' a z pole si přečteš ten jiný znak:
jiny_znak := pole[Ord('A')];
Pokud to chceš skutečně od A-Z, pak můžeš, ale budeš to používat:
var
znak: char;
begin
znak := 'A'
jiny_znak := pole[Ord(znak)-Ord('A')];
end;
V podstatě na to nepotřebuješ ani pole, stačí obyčejný řetězec, na který je možné přistupovat podle indexu:var
s, klic, vysledek: string;
i: Integer;
begin
klic := '+/§í8,;´=%87654323#$%^&**();¤\][/><...'; // tohle je místo znaků klic := 'ABCDEF...'
s := 'TOHLE CHCI ZASIFROVAT';
vysledek := '';
for i := 1 to Length(s) do
vysledek := Vysledek + klic(ord(s[i])-ord('A'));
ShowMessage(vysledek);
end;