Форум: "Начинающим";
Текущий архив: 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.052 c