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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2011, 22:48   #1
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
Вопрос Проблема с кодировкой текстовой информации в Delphi7

Здравствуйте.Написал программу по решению нескольких математических задач.Решил проверить её работу у друга,и вот те на:большая часть текстовой информации превратилась в непонятные символы.Понимаю,что пробелы из-за кодировки,но не знаю,как их решить.Программа написана на Delphi 7 в VCL режиме.Как исправить это недоразумение?
Человек Панда вне форума Ответить с цитированием
Старый 18.07.2011, 23:09   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

У друга (для WinXP) настроить Панель управления Языки и региональные параметры
Изображения
Тип файла: jpg 111.JPG (54.8 Кб, 98 просмотров)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 18.07.2011, 23:22   #3
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

Все параметры и так были уже установлены.Дело в том,что у меня частями нормально производит,частями неочень
Человек Панда вне форума Ответить с цитированием
Старый 19.07.2011, 01:20   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Простое, разумное и удобное решение - спрыгнуть с тонущего корабля Delphi 7 и сесть на новый и блестящий - Delphi XE. Там поддерживается Unicode по умолчанию, так что о кодировках можно будет не задумываться.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 19.07.2011, 10:40   #5
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию Программа уже практически готова,капитуляция невозможна

Программа уже практически готова,капитуляция невозможна
Человек Панда вне форума Ответить с цитированием
Старый 19.07.2011, 10:47   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> частями нормально производит,частями неочень

фонты разные? в чём различие между этими частями?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 19.07.2011, 10:48   #7
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

воспользуйся этой функцией
Код:
function StrAnsiToOem(const S: AnsiString): AnsiString;
begin
  SetLength(Result, Length(S));
  AnsiToOemBuff(@S[1], @Result[1], Length(S));
end;
пример
Код:
writeln(StrAnsiToOem('Вывод русского текста'));
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 19.07.2011, 12:28   #8
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Человек Панда Посмотреть сообщение
Программа уже практически готова,капитуляция невозможна
Новые версии понимают код старых (но не наоборот). Вроде.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 19.07.2011, 12:59   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Новые версии понимают код старых (но не наоборот). Вроде.
да щас... Понимать они то понимают, но если написан код для работы со String, то в версиях Delphi < 2009 - string - это AnsiString (то бишь однобайтовая строка), а в версиях Delphi >=2009 - string - это уже Unicode (то бишь двухбайтовая строка).
соответственно, код, который написан без учёта того, что один символ строки может быть не один байт - "нервно курит в сторонке"... причём, в 99% случаев, ошибок при этом не будет. Просто программа будет неправильно (глючно) работать и всё...


p.s. если не ошибаюсь, на блоге GunSmoker была статеечка о том, как наиболее быстро и безболезнено переходить на Unicode версию Delphi.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.07.2011, 23:05   #10
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

Все решилось без потерь.Использовал widestring,встроенный в паскале для работы с Unicode.Там через caption все поля программно поменял.Все работает верно.
Человек Панда вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Захват текстовой информации с сайта nury Общие вопросы C/C++ 1 16.01.2011 11:07
C# строки(Обработка текстовой информации ) Bakalavr Помощь студентам 3 26.12.2010 23:29
Обработка текстовой информации С++ Перфаратар Общие вопросы C/C++ 2 30.11.2010 21:12
Обработка текстовой информации С++ Перфаратар Помощь студентам 0 29.11.2010 23:02
Хранение текстовой информации diliana Софт 11 23.12.2009 13:24