Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2010
jandj jandj is offline
Miembro
 
Registrado: abr 2008
Posts: 21
Poder: 0
jandj Va por buen camino
Arrow timer y sonidos

saludos, el problema es el siguiente, estoy tratando de reproducir un sonido que diga una letra del abecedario, luego al precionar la letra si es correcto el programa reproducira un sonido diciendo que es correcto de lo contrario reproducirra otro sonido diciendo incorrecto. este es un ejemplo de lo que hecho.

primero el programa pregunta si tienes la respuesta:
Código Delphi [-]
procedure TForm1.Timer2Timer(Sender: TObject);
begin
sndPlaySound('C:\JProyect\JWordGuess\sonidos\tienelarespuesta.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
timer2.enabled:=false;
end;


segundo el programa reproduce el sonido de la respuesta esperando que se precione la tecla correcta o incorrecta:
Código Delphi [-]
procedure TForm1.Timer3Timer(Sender: TObject);
begin
a:=random(1);
if a = 0 then
sndPlaySound('C:\JProyect\JWordGuess\sonidos\A.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
//timerb.Enabled:=true;
timer3.enabled:=false;
timer3.Interval:=4000;
end;


tercero tengo este codigo en un edit:
Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case a of
0:
begin
if (key = 'A') or (key = 'a') then
begin
sndPlaySound('C:\JProyect\JWordGuess\sonidos\correcto.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
timer3.Enabled:=false;
timerb.Enabled:=true;
b:=random(1);
exit;
end
else
sndPlaySound('C:\JProyect\JWordGuess\sonidos\incorrecto.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
a:=random(1);
timer3.Enabled:=false;
timerb.Enabled:=true;
exit;
end;
end;

case b of
0:
begin
if (key = 'B') or (key = 'b') then
begin
sndPlaySound('C:\JProyect\JWordGuess\sonidos\correcto.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
timer3.Enabled:=true;
timerb.Enabled:=false;
a:=random(1);
exit;
end
else
sndPlaySound('C:\JProyect\JWordGuess\sonidos\incorrecto.wav',SND_NODEFAULT or SND_SYNC or SND_LOOP);
sndPlaySound(nil,0);
timer3.Enabled:=true;
timerb.Enabled:=false;
b:=random(1);
end;
end;
end;


y este otro en el evento onchange del edit:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
IF Length(Edit1.Text) = 1 then
edit1.SelectAll;
end;


en este codigo estaba pensando poner la letras por separado cada una en un timer direfrente, pero como quiera, el problema mayor lo tengo cuando preciono las teclas siempre dice que es correcto se que es por que estan programadas las teclas a y b. por ejemplo si el programa pregunta si tengo la respuesta, luego dice le respuesta por ejemplo dice (a) y yo preciono (b) tambien dice que es correcto. por favor necesito su ayuda.
Responder Con Cita
  #2  
Antiguo 21-02-2010
Avatar de DriverOp
DriverOp DriverOp is offline
Miembro
 
Registrado: ago 2007
Posts: 93
Poder: 17
DriverOp Va por buen camino
La verdad que no entiendo la lógica de tu código.

Por ejemplo esta línea:

Código Delphi [-]
b:=Random(1);

Solo elije entre un solo número, el cero. Si querías que generara el 0 o el 1 tendrías que haber puesto:

Código Delphi [-]
b:=Random(2);

De todas formas eso es irrelevante porque si tu intención es generar una letra al azar lo correcto sería:
Código Delphi [-]
Letra:=chr(Random(26)+65);
Siendo 'Letra' de tipo char.
Responder Con Cita
  #3  
Antiguo 22-02-2010
jandj jandj is offline
Miembro
 
Registrado: abr 2008
Posts: 21
Poder: 0
jandj Va por buen camino
Thumbs up Solucionado

Saludos! he resuelto el problema, pero de una manera no muy agradable tuve que usar un componente timer por letras, ordenarlas y quitar el random, y asignarle un numero a cada letra y para resetearlas letras le asignaba cero. ha y para la respuesta de driverOP puse a:=random(1) para reducir las posibilidades de que salgan mas numero, en ese ejemplo estaba probando solo con dos letras por separado y por eso hay un a:=random(1) y otro b:=random(1) voy a tratar de hacer el programa con letras al azar, nuevamente, si tengo problemas! nuevamante les dejare saber, bueno gracias driverOP por hacerme entrar en dudas...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Encadenar sonidos???? tarco35 Varios 17 03-08-2008 13:41:35
Sonidos wav o mp3 elcigarra Varios 8 06-01-2007 22:52:27
Sonidos en Safari (MAC) CHiCoLiTa HTML, Javascript y otros 5 11-10-2006 14:57:36
Sonidos con delphi el_enigma1 OOP 2 14-01-2005 00:31:30
Insertar sonidos egm1802 API de Windows 1 23-04-2004 18:05:39


La franja horaria es GMT +2. Ahora son las 21:46:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi