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;
[Nomadic]