Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

Русские имена каталогов и ParamStr   Найти похожие ветки 

 
Sergei0   (2006-04-29 01:57) [0]

Подскажите пожалуйста не могу понять почему так выходит:

Зарегистрировал свой тип файла. При нажатии на файл  запускается моя программа. Файл может находиться где у годно в том числе и в русских директориях. И если файл в русской директории то ParamStr(1) возвращает абру-кадабру а мне надо сделать:
AssignFile(file, ParamStr(1));

Заранее благодарю!


 
Германн ©   (2006-04-29 02:40) [1]

Кавычки не забыл поставить в реестре?


 
tesseract ©   (2006-04-29 11:46) [2]


> абру-кадабру а мне надо сделать:

в oem кодировку переводить не пробовал?


 
Sergei0   (2006-04-29 12:49) [3]


> Кавычки не забыл поставить в реестре?


регистрировал тип файла так:
ext: = "atm" ;
FileName: = Application.ExeName;

var
 reg: TRegistry;
begin
 reg:=TRegistry.Create;
 with reg do
 begin
   RootKey:=HKEY_CLASSES_ROOT;
   OpenKey("."+ext,True);
   WriteString("",ext+"file");
   CloseKey;
   CreateKey(ext+"file");
   OpenKey(ext+"file\DefaultIcon",True);
   WriteString("",FileName+",0");
   CloseKey;
   OpenKey(ext+"file\shell\open\command",True);
   WriteString("",FileName+" " %1"");
   CloseKey;
   Free;
 end;

Может что не так?


 
Sergei0   (2006-04-29 12:50) [4]


> в oem кодировку переводить не пробовал?


Если можно поподробней!


 
Экспериментатор   (2006-04-29 15:25) [5]

Вместо %1 надо %L
и тогда будет ОК


 
tesseract ©   (2006-05-01 09:59) [6]


> Если можно поподробней!

По умолчанию в консоли установлен cp866 (для русских версия соотвественно). А ты работаешь в cp1251.
Соответсвенно F1 -> ANSItoOEM


 
Anatoly Podgoretsky ©   (2006-05-01 12:19) [7]

CharToOEM


 
Sergei0   (2006-05-02 11:36) [8]


> %L


Поменял в реестре %1 на %L и все стало нормально.
Всем ОГРОМНОЕ СПАСИБО!


 
Styx_   (2006-05-02 16:39) [9]

А что за переменная %L и где бы найти описание других подобных фокусов? В частности, хотелось бы, чтобы передавалось короткое имя файла - а то приходится использовать .CMD, а в нём писать %~s1



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
2-1148414681
Бегин
2006-05-24 00:04
2006.06.11
Запись массива в файл


3-1145353609
Pazitron_Brain
2006-04-18 13:46
2006.06.11
Delphi & MySQL


2-1148538756
VitV
2006-05-25 10:32
2006.06.11
Разработка компонент.


10-1120418056
Michael5
2005-07-03 23:14
2006.06.11
Как бороться с сообщением, что в буфере обмена находится слишком


15-1147762283
Шутник
2006-05-16 10:51
2006.06.11
Обоснование выбора: СУБД vs файлы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский