Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Enumerando os sons do sistema e de eventos
Página 1 de 1
Enumerando os sons do sistema e de eventos
Comece adicionando as units [b]MMSystem e Registry no uses do formulário. Em seguida coloque um botão (TButton1) e uma lista (TListBox1) no formulário.
No evento OnCreate do formulário você deverá adicionar o código abaixo:
procedure TForm1.FormCreate(Sender: TObject)*
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKeyReadOnly('\AppEvents\EventLabels')*
reg.GetKeyNames(ListBox1.Items)*
finally
reg.Free;
end;
end;
Agora acrescente o código abaixo no evento OnClick do botão:
procedure TForm1.Button1Click(Sender: TObject)*
var
som: string;
begin
if ListBox1.ItemIndex = -1 then
begin
ShowMessage('Selecione um som na lista')*
Exit;
end;
som := ListBox1.Items[ListBox1.ItemIndex]*
PlaySound(PAnsiChar(som), 0, SND_ALIAS or SND_ASYNC)*
end;
Execute a aplicação agora. Você deverá ter algo semelhante à figura abaixo:
Experimente selecionar um som e clique o botão Executar. Observe o resultado. Para sua comodidade, o código completo desta aplicação pode ser baixado aqui.
2 - Entendendo o código
Vamos entender o código? Comece com a declaração de uma variável do tipo TRegistry:
var
reg: TRegistry;
Em seguida use o método Create para criar um objeto TRegistry e armazená-lo na variável reg:
reg := TRegistry.Create;
As linhas seguintes:
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKeyReadOnly('\AppEvents\EventLabels')*
reg.GetKeyNames(ListBox1.Items)*
definem a chave raiz a ser acessada (RootKey), efetua uma chamada ao método OpenKeyReadOnly para abrir a chave desejada somente para leitura e usa o método GetKeyNames para retornar uma lista de strings contendo os nomes de todas as sub-chaves pertencendo à chave atual. O retorno é armazenada na propriedade Items da ListBox1.
O clique no botão faz uma chamada à função PlaySound para executar o som desejado.
No evento OnCreate do formulário você deverá adicionar o código abaixo:
procedure TForm1.FormCreate(Sender: TObject)*
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKeyReadOnly('\AppEvents\EventLabels')*
reg.GetKeyNames(ListBox1.Items)*
finally
reg.Free;
end;
end;
Agora acrescente o código abaixo no evento OnClick do botão:
procedure TForm1.Button1Click(Sender: TObject)*
var
som: string;
begin
if ListBox1.ItemIndex = -1 then
begin
ShowMessage('Selecione um som na lista')*
Exit;
end;
som := ListBox1.Items[ListBox1.ItemIndex]*
PlaySound(PAnsiChar(som), 0, SND_ALIAS or SND_ASYNC)*
end;
Execute a aplicação agora. Você deverá ter algo semelhante à figura abaixo:
Experimente selecionar um som e clique o botão Executar. Observe o resultado. Para sua comodidade, o código completo desta aplicação pode ser baixado aqui.
2 - Entendendo o código
Vamos entender o código? Comece com a declaração de uma variável do tipo TRegistry:
var
reg: TRegistry;
Em seguida use o método Create para criar um objeto TRegistry e armazená-lo na variável reg:
reg := TRegistry.Create;
As linhas seguintes:
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKeyReadOnly('\AppEvents\EventLabels')*
reg.GetKeyNames(ListBox1.Items)*
definem a chave raiz a ser acessada (RootKey), efetua uma chamada ao método OpenKeyReadOnly para abrir a chave desejada somente para leitura e usa o método GetKeyNames para retornar uma lista de strings contendo os nomes de todas as sub-chaves pertencendo à chave atual. O retorno é armazenada na propriedade Items da ListBox1.
O clique no botão faz uma chamada à função PlaySound para executar o som desejado.
GripeBovina- Novato
- Mensagens : 23
Créditos : 15
Tópicos semelhantes
» Sistema De Vip 1.0 por eventos
» Sistema de Aprendizagem (por eventos)
» Sistema de Plataforma via eventos
» Sistema de Fogueira por Eventos
» sistema de post de luz por eventos
» Sistema de Aprendizagem (por eventos)
» Sistema de Plataforma via eventos
» Sistema de Fogueira por Eventos
» sistema de post de luz por eventos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos