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

Вниз

Проблема с реестром   Найти похожие ветки 

 
Homo Sapiens ©   (2006-07-25 17:24) [0]

Люди. У меня возник вопросик. У меня на форме лежит компонент
CheckBox1. По нажатию на него должна происходить регистрация mp3 файла
(впрочем, неважно что mp3). Чегото не получается. Посмотрите:

procedure TForm_options.mp3Click(Sender: TObject);
var
 reg:TRegistry;
begin
 if mp3.Checked then
   begin
     reg := TRegistry.Create;
     reg.RootKey := HKEY_CLASSES_ROOT;
     reg.OpenKey(".mp3",true);
     reg.WriteString("", ".mp3");
     reg.CloseKey;
     reg.OpenKey(".mp3\shell\open\command", true);
     reg.WriteString("", ParamStr(0) + " "%1"");
     reg.CloseKey;
     reg.Free;
   end else
 if not mp1.Checked then
   begin
     reg := TRegistry.Create;
     reg.RootKey := HKEY_CLASSES_ROOT;
     reg.OpenKey(".mp3",true);
     reg.WriteString("", ".mp3");
     reg.CloseKey;
     reg.OpenKey(".mp3\shell\open\command", true);
     reg.WriteString("", "wmplayer.exe" + " "%1"");
     reg.CloseKey;
     reg.Free;
   end;
end;


 
Homo Sapiens ©   (2006-07-25 17:26) [1]

АААА чуть не забыл
зарегестрировать *.txt получается    %)


 
Stakan ©   (2006-07-25 17:33) [2]

Не знаю, что не получается, но я бы переписал код следующим образом:
procedure TForm_options.mp3Click(Sender: TObject);
var
 App: String;
begin
 if mp3.Checked then
   App := ParamStr(0)
 else
   App := "wmplayer.exe";
 with TRegistry.Create do
 try
   RootKey := HKEY_CLASSES_ROOT;
   OpenKey(".mp3", True);
   WriteString("", ".mp3");
   CloseKey;
   OpenKey(".mp3\shell\open\command", true);
   WriteString("", App + " "%1"");
   CloseKey;
 finally
   Free;
 end;
end;

Глядишь отладка упростится


 
Homo Sapiens ©   (2006-07-25 17:37) [3]

Спасибо ша попробую


 
saxon   (2006-07-25 17:50) [4]


> Stakan ©   (25.07.06 17:33) [2]

см. [0]

> if mp3.Checked then
> ...
> if not mp1.Checked then


 
Footballer ©   (2006-07-25 17:59) [5]

Homo Sapiens сейчас Винду переустанавливает, я за него говорю СПАСИБО :))


 
Stakan ©   (2006-07-25 18:05) [6]

saxon   (25.07.06 17:50) [4]
Да, не углядел, но сути дела это не меняет
Footballer ©   (25.07.06 17:59) [5]
Надеюсь, не из - за моего кода:)))


 
saxon   (2006-07-25 18:07) [7]


> Stakan ©   (25.07.06 18:05) [6]
> Да, не углядел, но сути дела это не меняет

Ну я бы так не говорил. Уж точно логика мпоменялась. :)


 
Stakan ©   (2006-07-25 18:10) [8]

saxon   (25.07.06 18:07) [7]
Логика - да, но суть моего замечания в том, чтобы два раза не писать один и тот-же код, и правильно работать с объектами.


 
saxon   (2006-07-25 18:14) [9]

Эта, автар еще не переустановил > Винду ? ... :)))


 
Homo Sapiens ©   (2006-07-25 18:49) [10]

ААААА форточка переустановилась!!!

> if mp3.Checked then
> ...
> if not mp1.Checked then
это опечатка....

Стакану вери биг СПАСИБО!!!


 
IceBeerg ©   (2006-07-25 18:58) [11]

var
reg:TRegistry;
ProgramFilesDir:String;
begin
if mp3.Checked then
  begin
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CLASSES_ROOT;
    reg.OpenKey(".mpZ",true);
    reg.WriteString("", "mpZfiles");
    reg.CloseKey;
    reg.OpenKey("mpZfile\shell\open\command", true);
    reg.WriteString("",""" + ParamStr(0) + " %1" %*");
    reg.CloseKey;
    reg.Free;
  end else
  begin
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CLASSES_ROOT;
    reg.OpenKey(".mpZ",true);
    reg.WriteString("", "mpZfile");
    reg.CloseKey;
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion",true);
    ProgramFilesDir:=reg.ReadString("ProgramFilesDir");
    reg.CloseKey;
    reg.RootKey := HKEY_CLASSES_ROOT;
    reg.OpenKey("mpZfile\shell\open\command", true);
    reg.WriteString("","""+ProgramFilesDir+"\Windows Media Player\wmplayer.exe" /prefetch:6 /Open "%L"");//Толко здесь нужен полный путь в файлу wmplayer.exe
    reg.CloseKey;
    reg.Free;
  end;


 
IceBeerg ©   (2006-07-25 18:58) [12]

Если где ошибся поправляйте, писал на скорую руку.


 
Homo Sapiens ©   (2006-07-25 19:09) [13]

А ещё
Кто-нибудь знает как перекодировать например wav в mp3
Или может компонент есть какой????



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

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.056 c
3-1149675879
irena
2006-06-07 14:24
2006.08.13
MSSql: редактирование длинных полей varchar(1024)


3-1149574047
q-q
2006-06-06 10:07
2006.08.13
Используя ЗАБОЙ, полю присваивается NULL, а хотелось бы НОЛЬ


2-1154009903
Frojok
2006-07-27 18:18
2006.08.13
Список папок на данном диске


15-1152807930
Nic
2006-07-13 20:25
2006.08.13
Меня можно поздравить


2-1153806038
novice
2006-07-25 09:40
2006.08.13
Диалоговое окно с таймаутом