Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2009, 12:35   #1
natasha
Пользователь
 
Регистрация: 21.01.2007
Сообщений: 15
Печаль Перекодировка текста DOS-Windows

Пожалуйста, помогите!
Меня такая ситуация
я считываю информацию из текстового файла
файл формата DOS

мне необходимо преобразовать данную информацию, которая в строковом виде, в формат Windows

пытаюсь использовать функцию OemToChar, выдают ошибку
в связи с тем, что при считывание файла получает строкрвую величену, а для работы с функцией OemToChar входная величина PChar.
natasha вне форума Ответить с цитированием
Старый 19.10.2009, 12:58   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

OemToAnsi Вам должна помочь. Кстати как то я писал DLL для изменения кодировок файла там только две процедуры, Из DOC в ANSI и обратно. Могу кинуть.
FaTaL вне форума Ответить с цитированием
Старый 19.10.2009, 13:24   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот, выдернул из JEDI (JclStrings.pas)
Код:
function StrOemToAnsi(const S: AnsiString): AnsiString;
begin
  SetLength(Result, Length(S));
  OemToAnsiBuff(@S[1], @Result[1], Length(S));
end;

//---------------------------------------------------------------
function StrAnsiToOem(const S: AnsiString): AnsiString;
begin
  SetLength(Result, Length(S));
  AnsiToOemBuff(@S[1], @Result[1], Length(S));
end;
p.s. OEM = Dos кодировка (866)
ANSI - кодировка Windows (Win-1251)
to - по русски "В" ;-)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.10.2009, 13:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я так на всякий случай напомню что
Цитата:
The OemToAnsi function is obsolete.
Заменена на
Цитата:
The OemToChar function translates a string from the OEM-defined character set into either an ANSI or a wide-character string. (OEM stands for original equipment manufacturer.) This function supersedes the OemToAnsi function.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2009, 14:14   #5
natasha
Пользователь
 
Регистрация: 21.01.2007
Сообщений: 15
Смех

Спасибо!!!!!!!

Все работает!!!
natasha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перекодировка алфавита world12_tk Помощь студентам 6 20.07.2009 22:40
Эмуляция DOS (16 бит) в Windows Vista x64 execom Windows 1 19.01.2009 10:47
Команды MS-DOS (точнее командной строки windows) kiraM Windows 4 03.09.2008 22:11
Перекодировка из ASCII Dimo444ka Помощь студентам 2 25.05.2008 13:22
Характеристики DOS и Windows akimovster Windows 1 12.02.2008 11:50