View Full Version : Dúvida em VB. NET 2003


freakfreak
11-11-2006, 18:02
Boa Tarde, depois de ler alguns tópicos fiquei muito agradado com o material que disponibilizam para melhor sucesso nas dúvidas em programação. :)

Preciso de uma ajuda:
Estou a elaborar um jogo tipo escolha múltipla, e quando a pessoa falha a resposta, ouvir-se um som de "erro" e quando acertar um som de "correcto". (sons escolhidos por mim).

Mas estou com dificuldade em fazer este tipo de trabalho no VB.NET 2003, seria possível alguém me ajudar?

Obrigado :)

HecKel
11-11-2006, 18:58
salvo erro para produzires um beep basta mesmo a função Beep, o resto não passa de algoritmia..., vai colocando aqui as tuas dúvidas de implementação que tentamos ajudar-te :)

abraços, HecKel

freakfreak
11-11-2006, 19:10
Ao certo eu nem sei como iniciar o código, porque nem me passa pela cabeça como funciona :confused:

Alguma ajuda? (sff)

d@niel
11-11-2006, 19:52
cria esta class

Public Class Sound
Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer

Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
As Byte(), ByVal hmod As Integer, ByVal flags As Integer) As Integer

Public Const SND_SYNC = &H0 ' play synchronously
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_MEMORY = &H4 'Play wav in memory
Public Const SND_ALIAS = &H10000 'Play system alias wav
Public Const SND_NODEFAULT = &H2
Public Const SND_FILENAME = &H20000 ' name is file name
Public Const SND_RESOURCE = &H40004 ' name is resource name or atom

End Class

depois em qualquer zona fazes o seguinte

Sound.PlayWaveFile("<nome do ficheiro>.<wav ou mid>")

nota: na zona das flags penso (eu nao tenho o vstudio instalado
e por isso nao testei) que se pode escolher o modo de reprodução. por exemplo: Sound.PlayWaveFile("<nome do ficheiro>.<wav ou mid>",,sound.SND_SYNC)
Fonte (http://www.codeproject.com/vb/net/SoundClass.asp)

freakfreak
11-11-2006, 20:11
Já criei a class e não dá erro nenhum, mas como vou interligar as forms com a class? :confused:

d@niel
11-11-2006, 20:27
das 2as 1 ou tens de criar uma variavel do tipo da class ou chamas logo a funcao da class

if respostacerta then
Sound.PlayWaveFile("correcto.wav")
else
Sound.PlayWaveFile("errado.wav")
end if

ou entao

dim sons as sound
if respostacerta then
sons.PlayWaveFile("correcto.wav")
else
sons.PlayWaveFile("errado.wav")
end if

freakfreak
11-11-2006, 21:34
Desculpem lá ser chato, mas este programa está-me a dar cabo da cabeça.

Tipo eu já criei a class, faço copy paste do código que me deste ou preciso de mudar alguma coisa?

É que ao fazer o if no botões (onde se clica para dar a resposta) o programa dá erro, por isso na parte "respostacerta" e Sound.PlayWaveFile("correcto.wav") ou sons.PlayWaveFile("correcto.wav") aparece aquela linha azul por baixo (que está algo mal)

Se tiverem algum manual a explicar como isto funciona, agradecia para não ser chato :joker:

d@niel
11-11-2006, 22:20
bem

e claro que dá erro no "respostacerta",porque eu pus isso ai para tu saberes que tens de substituir pela condicao de resposta certa.

depois quanto aos outros 2 erros, deve aparecer ai qualquer coisa, do estilo de uma sugestão ou assim.

tenta pela fonte que dei a pouco lá tem um projecto em vb ja funcional, com sons. tens é de fazer um registo.