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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2010, 19:34   #1
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию Кодировка текста при передаче из cmd в Memo

Проблема собственно вот в чем :
Перехватываю результат работы cmd и вывожу его в memo. В принципе все нормально работает, но вот результат выводиться не корректно,кириллический шрифт при некоторых командах отображается кракозябрами.
Команда help выводиться нормально

а команда ipconfig /all выводиться коряво


Чем это возможно вылечить ???

Последний раз редактировалось Noor; 04.03.2010 в 19:40.
Noor вне форума Ответить с цитированием
Старый 04.03.2010, 21:18   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Попробуйте перед выполнением команды послать в консоль
Код:
chcp 1251
не уверен, конечно, но вдруг поможет
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 05.03.2010, 10:58   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Не помогло!!!
Тут скорее всего дело в том что изначально информация "сливается" во временный файл, а потом подгружается в Memo.Методом подбора выяснилось что для команды help, кодировка нужна
Код:
Мemo1.Font.Charset := OEM_CHARSET;
а для ipconfig /all
Код:
Memo1.Font.Charset := DEFAULT_CHARSET;
Вот как это побороть ????
Noor вне форума Ответить с цитированием
Старый 05.03.2010, 23:23   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Попробуйте OEMToAnsi...
W0LF вне форума Ответить с цитированием
Старый 05.03.2010, 23:59   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от W0LF Посмотреть сообщение
Попробуйте OEMToAnsi...
Не поможет.
ipconfig - программа под windows, а help - команда под DOS и выводят они в файл в разных кодировках, подтвержением тому bat-файл
Код:
help > c:\0.txt
ipconfig /all >> c:\0.txt
type c:\0.txt
Надо распознавать текст.
Как вариант, анализировать команду. Ставим текст memo в OEM_CHARSET. Если запускается приложение, проверять на какую платформу рассчитано (читаем заголовок), и если для Windows, то AnsiToOEM. Рассуждения основаны на том, что всякая адекватная программа под Windows будет выводить результаты в CP1251
eoln вне форума Ответить с цитированием
Старый 21.09.2011, 16:15   #6
xaduw
Новичок
Джуниор
 
Регистрация: 21.09.2011
Сообщений: 1
По умолчанию

Привет автор стукни в аську мне пожалусто есть вопрос !! 201938816
xaduw вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при передаче через Com-порт ShlakBaum Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 01.02.2010 21:59
Виснет машина при передаче файла через сокет SlashMan Работа с сетью в Delphi 2 19.07.2009 23:50
Кодировка и Memo frayerok Общие вопросы Delphi 2 23.10.2008 23:57
отделение строк при передаче в serversocket... prizrak1390 Общие вопросы Delphi 14 29.06.2008 21:13