![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Oleg |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 16.9.2002 Репутация: нет Всего: нет |
У меня прога, созданная в делфях (все шрифты форм по умолчанию, язык русский), в некоторых аккаунтах винды2000 пишет вместо русских слов
--------------------
...Знающий не доказывает. Доказывающий не знает... |
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
Может в винде дело? Какая винда-то, кстати? SP или еще чего?
-------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Если вам высвечиваются вместо букв знаки вопроса то это проблема Unicode возможно какие-то из компонентов, которые вы используете, ее не поддерживают. Проблема очень хорошо известна пользователям ХР, она возникает при копировании русского текста к примеру из Delphi в блокнот в том случае когда установлена английская раскладка клавиатуры. Чтобы скопировать текст нормально нужно перед копированием переключиться на русскую раскладку и спокойно копировать все будет нормально. Да кстати, а какая Delphi
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Oleg |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 16.9.2002 Репутация: нет Всего: нет |
Borland Delphi7, Microsoft Windows 2000 v 5.00.2195 ServicePack 3.
Да ничего я вроде экзотического не использую. Я ж говорю, во всех формах проекта, начиная с главной такая вот белибердень. --------------------
...Знающий не доказывает. Доказывающий не знает... |
|||
|
||||
| SmaLL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 557 Регистрация: 17.12.2002 Где: Voronezh Репутация: 1 Всего: 2 |
У меня дома всЁ стоит аналогичное и всЁ - ОК
А на работе Д6, так перенос у меня никаких проблем не вызывает. Если формы сохранены как текст, то как это дело в фаре отображается или в блокноте?? Посмотри в настройках какой используется шрифт для отображения в ID. И ещЁ, типа можно попробовать в реестре в NLS/Codepages поменять 1252 на 1251... Это сообщение отредактировал(а) SmaLL - 31.3.2003, 19:42 -------------------- Что ни делается - всЁ к лучшему! SmallWeb Мой адрес не дом и не улица, мой адрес родной пивзавод! |
|||
|
||||
| 3D-Dragon |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 7.1.2003 Где: Днепропетровск, U A Репутация: нет Всего: нет |
патч реестра вылечит ...
9x.ME.reg
NT.2k.XP.reg
|
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Заново поднимаю эту тему!
Указанный патч не безапасен если в системе установленно кроме руского и английского языков какой нибудь еще. При этом нарушается правельное определенияе раскладок клавиатуры. Если у вас установлено три или более языков ни в коем случае не делайте такой патч - я таким образом попортил реестры на двух компах, один из которых мой -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Добавлю только, что Snowy очень хорошо отписался о решении этой проблемы.
http://forum.vingrad.ru/index.php?showtopic=82093 alexeis1 Ручами можно исправить там где испорчено |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Yanis, Эту тему я хорошо знаю, но этот пач лечил не только свои, но и чужие проги имеющие те же проблемы! А мне не свою лечить надо было! Оказывается не лечил, а калечил винду.
<offtop>это понятно но догадался кто виноват я лишь тогда, когда узнал, что на втором компе те же глюки что и у меня!</offtop> -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
т.е. так createpocess(...,...,'some.exe',somethreadID,.... ); SetThreadLocale(somethreadID,1251); -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Угу. Правда не разу не пробовал, но по логике должно работать.
Запускаемая программа на дельфи? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
думаю нет, да речь идет не только об одной проге, такая ситуация появляется довольно часто с недоотлажеными прогами. Тема немного откланилась я попробую как сказал Snowy, как получится отпишусь... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Очередной раз убеждаюсь windows хорошо работает, только если на него ничего не установлено и поставлен он с настройками по умалчанию
Найти "концы" я так и не смог, но хоть и криво но все поправил! Однако (теперь по теме), обнаружил, что SetThreadLocale - работает только с текущим потоком, а это значит, что без заморочки с хуками здесь не обойтись - получится совсем криво Может кто знает такую же функцию (SetThreadLocale), но только для внесения изменений в чужой поток? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Наверное это самый простой способ. |
||||||
|
|||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Yanis че`т я не понял последнего поста.
Про MSDN я и сам знаю, по нему и писал пост....????? Так лаунчер это друрой поток, свой поток (лаунчера) он настроит, а вот поток приложения (для него чужой) который запустит лаунчер я не могу настроить, при помощи этой функции. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
alexeis1, Snowy имел ввиду запуск дочернего (или не дочернего) процесса и уже "из него" вызвать SetThreadLocale путём вызова CreateRemoteThread(hRemouteProc, ..... Тока перед этим надобно память выделить в процессе кажется
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Это что-то новенькое, про дочерний поток я слышал, а проэто нет! Так как же я могу это сделать из него - он же чужая программа, не встраивать же в него свой код! А вот про CreateRemoteThread тоже не слышал - сейчас буду разбираться! Добавлено @ 11:31 Ух-ты CreateRemoteThread - это серьезно буду пробовать, а вот этого в helpe я не увидел! -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
alexeis1
Я в этом советчик не очень хороший. Но сам посуди - мы вызываем функцию о которой процесс и не знает, причём ещё и параметры нуна передавать ему. На сколько я понимаю проще всего сделать внедрение dll. По этому поводу есть хороший пример у роуза на его сайте. вот что дал поиск по WinAPI разделу |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Понял! память нужна если мы хотим передать что-то этому "присосавшемуся" потоку, а если нет, то я думаю можно обойтись nil
Спасибо Yanis! -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
alexeis1
Могу накатать пример с получением командной строки чужого процесса. Суть тут та же: вызов функции GetCommandLine из чужого процесса, т.к. GetCommandLine позволяет получать только "свою" коммандную строку. Правда без CreateRemouteThred, но довольно показательный пример. P. S. мона и через CreateRemouteThred извратиться, т.к. GetCommandLine возврящает всего 4 байта |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Тут еще попутно такой вопрос, а не знает кто, как в консоли русский текст нормально выводить?
-------------------- Обижено школьников: 8 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Знаем.
Или перекодировать в OEM (AnsiToOEM) или выводить в юникоде. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
bems
В чужой консоли? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Yanis, Не он в своей, в чужой-то он ничего не выведет
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
SetConsoleCP
SetConsoleOutputCP |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Вот это и интригует. Вроде функции специально для этого предназанчены, но чтобы заработало так и не вышло
А это как понимать? -------------------- Обижено школьников: 8 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Я понял, что русский теткст не выводится в консоли написаной вами, а не в программе написанной другим человеком, другими словами вы пытаетесь исправить свои ошибки, а не ошибки автора чужой программы. Вопрос был задан потому, что тема была поднята, как попытка исправить недароботки в чужих программах. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Это сообщение отредактировал(а) alexeis1 - 17.7.2006, 09:42 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ramin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 17.7.2006 Где: Азербаиджан, Баку Репутация: нет Всего: нет |
не читал посты который ответили тебя но ты посмотри на Языке и Регионалы... какой чзык там у тя стоит? |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Ramin
Я думаю, что вопрос 3-х летней давности уже решён. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Yanis,
alexeis1, в своей Хотелось бы русифицировать саму консоль и писать обычным Writeln. Вот SetConsoleOutputCP по описанию - то что надо, но в моих кривых руках не работает. -------------------- Обижено школьников: 8 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
bems, Я прогнал 2100 страниц - от 1 до 2100
Все одно и тоже, эти функции не меняют кодировку -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А вот так можно все кодировки просмотреть - результат анологичний
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |