Как преобразовать OEM в ANSI
Пример кода:
procedure ConvertFile(const FileName: string; fromCodepage: Integer); var ms: TMemoryStream; begin if getOEMCP <> fromCodepage then raise Exception.Create('ConvertFile: Codepage doesn't match!'); ms := TMemoryStream.Create; try ms.LoadFromFile(FileName); // создаем откат ms.Position := 0; ms.SaveToFile(ChangeFileExt(FileName, '.BAK')); // Преобразовываем текст OEMToCharBuff(ms.Memory, ms.Memory, ms.Size); // Сохраняем изменения в файле ms.Position := 0; ms.SaveToFile(FileName); finally ms.Free; end; end;
Комментарии