Algorithm Math Delphi

Title: ASCII - Greek 437 converter
Question: Barcode printers, cash registers and other local printing devices require that we send ascii text (from win app) translated to the correct codepage. This function does the conversion for the Greek - 437 codepage.
Answer:
function MakeAscii(Str: string): string;
var
i: integer;
begin
for i := 1 to length(Str) do
begin
if ord(Str[i]) = 162 then Str[i] := chr(234)
else if ord(Str[i]) in [184..186] then inc(Str[i], 51)
else if ord(Str[i]) = 188 then Str[i] := chr(238)
else if ord(Str[i]) = 190 then Str[i] := chr(239)
else if ord(Str[i]) = 191 then Str[i] := chr(240)
else if ord(Str[i]) in [193..209] then dec(Str[i], 65)
else if ord(Str[i]) in [211..217] then dec(Str[i], 66)
else if ord(Str[i]) = 220 then Str[i] := chr(225)
else if ord(Str[i]) = 221 then Str[i] := chr(226)
else if ord(Str[i]) = 222 then Str[i] := chr(227)
else if ord(Str[i]) = 223 then Str[i] := chr(229)
else if ord(Str[i]) in [225..241] then dec(Str[i], 73)
else if ord(Str[i]) = 242 then Str[i] := chr(170)
else if ord(Str[i]) = 243 then Str[i] := chr(169)
else if ord(Str[i]) in [244..248] then dec(Str[i], 73)
else if ord(Str[i]) = 249 then Str[i] := chr(224)
else if ord(Str[i]) = 250 then Str[i] := chr(228)
else if ord(Str[i]) = 251 then Str[i] := chr(232)
else if ord(Str[i]) = 252 then Str[i] := chr(230)
else if ord(Str[i]) = 253 then Str[i] := chr(231)
else if ord(Str[i]) = 254 then Str[i] := chr(233);
end;
MakeAscii := Str;
end;