Проблема с конвертацией из DOS в Win
function DOS_To_Win(AChar: Char): Char;
var
AByte: Byte;
begin
AByte := Ord(AChar);
if AByte in [128..175] then // Буквы А..п
AByte := AByte + 64
else
if AByte in [224..239] then // Буквы р..я
AByte := AByte + 16
else
if AByte = 240 then AByte := 168 // Буква Ё
else
if AByte = 241 then AByte := 184; // Буква ё
Result := Char(AByte);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
s,ss : String;
c : char;
i : integer;
begin
s := Memo1.text;
for i := 0 to 10 do
begin
c := s;
ss := ss + DOS_To_Win(c);
end;
ShowMessage(ss);
end;
http://www.delphikingdom.com/stones/stone_34.htm
// -----------------------------------------------------------------
function Ansi2OEM(const S : string) : string;
// Конвертирует строку из кодировки Windows в DOS кодировку
begin
SetLength(Result,Length(S));
if Length(S) <> 0 then
CharToOem(pChar(S),pChar(Result));
end;
// -----------------------------------------------------------------
function OEM2Ansi(const S : string) : string;
// Конвертирует строку из кодировки DOS в Windows кодировку
begin
SetLength(Result,Length(S));
if Length(S) <> 0 then
OemToChar(pChar(S),pChar(Result));
end;
// -----------------------------------------------------------------