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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.041 c
3-1149503412
stud
2006-06-05 14:30
2006.08.13
формирование отчета в квикрепорт


2-1153605815
Забывчивый
2006-07-23 02:03
2006.08.13
Треугольник


15-1153386030
SerJaNT
2006-07-20 13:00
2006.08.13
БЛС


15-1153114530
Ega23
2006-07-17 09:35
2006.08.13
С Днём рождения! 15-17 июля


2-1153818888
Crazy monkey
2006-07-25 13:14
2006.08.13
Картинку из TreeView в image





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский