![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
Приветствую!
Пишу плеер, добавил ассоциацию файлов, и, соответственно, хотелось бы, чтобы файлы добавлялись в плейлист, а не запускали каждый раз новую версию плеера. Поиски привели меня к данной статье. И все работает замечательно, кроме одного "но": при двойном клике на ассоциированном файле, который содержит русские буквы (к примеру, "08. Вальсаутро") на участке кода: Код:
Соответственно и в плейлисте потом непойми что отображается. Знающих, прошу помочь. Спасибо!
Никогда не знаешь, где тебе повезет... (Фрай)
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
veniside, с моим английским, и Си-знанием, считайте, что ничего мне так и не сообщили. Но спасибо, что поняли суть вопроса (видимо...)
UPD: проще говоря, одна и та же строка "ShowMessage(ParamStr(1));" дает разные значения. Если находится OnFormCreate pas-файла, то русские символы воспринмаются хорошо. Если же эта строчка находится в dpr-файле проекта, то идет абракадабра.
Никогда не знаешь, где тебе повезет... (Фрай)
Последний раз редактировалось DIgorevich; 17.09.2012 в 18:15. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
передается, походу, "короткое" имя файла, которое (видимо) нужно представить как "длинное" имя
указанная выше функция должна в этом помочь, прототип ее (должен быть) описан в windows.pas
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
Нет, передается не "короткое" имя, при "ShowMessage(ParamStr(1));" отчетливо видны пути, но в "корявом" отображении русских символов.
Никогда не знаешь, где тебе повезет... (Фрай)
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Юникодные проблемы видимо для новых версий дельфи. ParamStr возвращает AnsiString. А в ShowMessage параметр WideString
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
Версия делфи - 7
Поискал еще: если ассоциировать файлы с параметром "%L" то тогда "ShowMessage(ParamStr(1));" отображает и там, и там русские символы нормально, но только путь, без имени самого файла. Код:
Никогда не знаешь, где тебе повезет... (Фрай)
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Можно попробовать поиграться с FindFirstFile от ParamStr(1) и посмотреть что будет в TWin32FindData
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
![]()
Вопрос снимается, извиняюсь. Надо было всего лишь кавычить при ассоциации:
Код:
Никогда не знаешь, где тебе повезет... (Фрай)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ на русский язык | fkorto | Общие вопросы C/C++ | 6 | 29.04.2010 15:12 |
Русский язык | Sanek_ntsk | Общие вопросы C/C++ | 9 | 06.03.2008 16:50 |
Русский язык | Elefanter | Свободное общение | 14 | 22.02.2008 16:23 |
Русский язык | [Smarik] | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 01.02.2008 22:58 |
РУССКИЙ ЯЗЫК | vicdon | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.11.2007 14:34 |