Enumerando os sons do sistema e de eventos Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Enumerando os sons do sistema e de eventos

Ir para baixo

Enumerando os sons do sistema e de eventos Empty Enumerando os sons do sistema e de eventos

Mensagem por GripeBovina Sáb Dez 04, 2010 10:17 pm

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:

Enumerando os sons do sistema e de eventos Enumerando_sons_sistema_eventos

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
GripeBovina
Novato
Novato

Mensagens : 23
Créditos : 15

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos