Перекодировка текста из DOS в Windows и наоборот

Как с помощью Delphi перекодировать текстовый файл из DOS в Windows и наоборот?

Решение 1
Src – строка для перекодировки, Str – перекодированная строка

procedure TForm1.WinToDos;
var
  Src, Str: PChar;
begin
  GetMem(Str, Length(Memo1.Lines.Text)); // Выделяем место под строку-приемник
  Src := Memo1.Lines.GetText;            // Берем текст из TMemo как PChar
  CharToOem(Src, Str);                   // Перекодировка текста
  Memo2.Lines.SetText(Str);              // Передаем перекодированный текст
  FreeMem(Str);                          // Освобождаем память
end;

procedure TForm1.DosToWin;               // С точностью до вызова функции API
var                                      // повторяем код
  Src, Str: PChar;

begin
  GetMem(Str, Length(Memo1.Lines.Text));
  Src := Memo1.Lines.GetText;
  OemToChar(Src, Str);
  Memo2.Lines.SetText(Str);
  FreeMem(Str);
end;
Решение 2
Используйте CharToOEM, OEMToChar, CharToOEMBuff, OEMToCharBuff.

[Nomadic]