type TConvertChars = array[#128..#255] of char;
const Win_KoiChars: TConvertChars =
(#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#060,
#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#169,
#150,#151,#152,#153,#154,#062,#176,#157,#183,#159,#160,
#246,#247,#074,#164,#231,#166,#167,#179,#169,#180,#060,
#172,#173,#174,#183,#156,#177,#073,#105,#199,#181,#182,
#158,#163,#191,#164,#062,#106,#189,#190,#167,#225,#226,
#247,#231,#228,#229,#246,#250,#233,#234,#235,#236,#237,
#238,#239,#240,#242,#243,#244,#245,#230,#232,#227,#254,
#251,#253,#154,#249,#248,#252,#224,#241,#193,#194,#215,
#199,#196,#197,#214,#218,#201,#202,#203,#204,#205,#206,
#207,#208,#210,#211,#212,#213,#198,#200,#195,#222,#219,
#221,#223,#217,#216,#220,#192,#209);
Koi_WinChars: TConvertChars =
(#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,
#139,#140,#141,#142,#143,#144,#145,#146,#147,#148,#149,
#150,#151,#152,#153,#218,#155,#176,#157,#183,#159,#160,
#161,#162,#184,#186,#165,#166,#191,#168,#169,#170,#171,
#172,#173,#174,#175,#156,#177,#178,#168,#170,#181,#182,
#175,#184,#185,#186,#187,#188,#189,#190,#185,#254,#224,
#225,#246,#228,#229,#244,#227,#245,#232,#233,#234,#235,
#236,#237,#238,#239,#255,#240,#241,#242,#243,#230,#226,
#252,#251,#231,#248,#253,#249,#247,#250,#222,#192,#193,
#214,#196,#197,#212,#195,#213,#200,#201,#202,#203,#204,
#205,#206,#207,#223,#208,#209,#210,#211,#198,#194,#220,
#219,#199,#216,#221,#217,#215,#218);
function Win_KoiConvert(const St: string): string;
var
i: integer;
begin
Result:=St;
for i:=1 to Length(St) do
if St[i]>#127 then Result[i]:=Win_KoiChars[St[i]];
end;