Buscar

Falar as teclas precionadas em um memo

Código

//incluir na clasula uses da unit: mmSystem
{é necessario criar uma pasta com o som em wav de cada uma das letras do teclado na mesma pasta que estiver o executave}l  
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, mmSystem;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure Memo1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  endereco: string;   //variaveis globais
  som: PAnsiChar;

implementation

{$R *.dfm}

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case key of
65: som := PAnsiChar(endereco+'A.wav'); // converte a variavel endereço de string para PAnsiChar  e adiciona o nome da letra a reproduzir
66: som := PAnsiChar(endereco+'B.wav');
67: som := PAnsiChar(endereco+'C.wav');
68: som := PAnsiChar(endereco+'D.wav');
69: som := PAnsiChar(endereco+'E.wav');
70: som := PAnsiChar(endereco+'F.wav');
71: som := PAnsiChar(endereco+'G.wav');
72: som := PAnsiChar(endereco+'H.wav');
73: som := PAnsiChar(endereco+'I.wav');
74: som := PAnsiChar(endereco+'J.wav');
75: som := PAnsiChar(endereco+'K.wav');
76: som := PAnsiChar(endereco+'L.wav');
77: som := PAnsiChar(endereco+'M.wav');
78: som := PAnsiChar(endereco+'N.wav');
79: som := PAnsiChar(endereco+'O.wav');
80: som := PAnsiChar(endereco+'P.wav');
81: som := PAnsiChar(endereco+'Q.wav');
82: som := PAnsiChar(endereco+'R.wav');
83: som := PAnsiChar(endereco+'S.wav');
84: som := PAnsiChar(endereco+'T.wav');
85: som := PAnsiChar(endereco+'U.wav');
86: som := PAnsiChar(endereco+'V.wav');
87: som := PAnsiChar(endereco+'W.wav');
88: som := PAnsiChar(endereco+'X.wav');
89: som := PAnsiChar(endereco+'Y.wav');
90: som := PAnsiChar(endereco+'Z.wav');
else
som := PAnsiChar(endereco+'FALHA.wav');
end;
PlaySound(som, 1, SND_ASYNC);  //reproduz um som
end;
initialization             //executa os comandos na inicialização
endereco:=ExtractFilePath(ParamStr(0)); //pega o endereço do executavel
endereco := endereco+'sons';
end.

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Multimedia
Adicionada dia: 25/06/07
Por: Wellington Barbosa Rodrigues
Visualizada: 5334 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009