Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Русские имена каталогов и 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
15-1147970494
Empleado
2006-05-18 20:41
2006.06.11
< удалено модератором >


15-1147545994
dimodim
2006-05-13 22:46
2006.06.11
Драйвер RAM disk a


15-1146754608
Yegorchic
2006-05-04 18:56
2006.06.11
Узнать ширину и высоту картинки по её размеру


2-1147024647
parovoZZ
2006-05-07 21:57
2006.06.11
Форма авторизации


2-1148298774
Hitkliff
2006-05-22 15:52
2006.06.11
РадиоБатоны?