Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.039 c
15-1148039880
iZEN
2006-05-19 15:58
2006.06.11
Сначала подсадить на иглу, а потом требовать деньги.


2-1148631841
IGray
2006-05-26 12:24
2006.06.11
Хочу меню как в Office2003


15-1148064518
Ten10
2006-05-19 22:48
2006.06.11
Численные методы


15-1147762292
pavel_guzhanov
2006-05-16 10:51
2006.06.11
Windows & Linux, переустановка Windows


15-1147256562
Megabyte
2006-05-10 14:22
2006.06.11
Ну кто так проектирует БД...




   Наверх