Enviar teclas
Olá pessoal.
Faz um bom tempo que não posto aqui no forum.
Lá vai a minha duvida: preciso saber se existe um comando que dispare teclas(letras) pro meu programa. Ex.:
e não :
Entenderam?
Agradeço antecipadamente.
Faz um bom tempo que não posto aqui no forum.
Lá vai a minha duvida: preciso saber se existe um comando que dispare teclas(letras) pro meu programa. Ex.:
edit.setfocus; enviartecla(´1´);//portugol enviartecla(´8´);//portugol
e não :
edit.text := ´18´;
Entenderam?
Agradeço antecipadamente.
Flaviosan
Curtidas 0
Respostas
Flaviosan
30/08/2005
Ai gente, resolvi o problema, é só usar a função keybd_event(). Ex.:
Mais isso me arrumou mais um problema, como converto string para char, pois faço um copy() em uma string pra me retornar um determido valor, mas não sei como converter essa string retornada em char pra usar com a keybd_event().
Agradeço antecipadamente.
edit.setfocus; keybd_event(VkKeyScan(´1´,0,0,0)); keybd_event(VkKeyScan(´8´,0,0,0));
Mais isso me arrumou mais um problema, como converto string para char, pois faço um copy() em uma string pra me retornar um determido valor, mas não sei como converter essa string retornada em char pra usar com a keybd_event().
Agradeço antecipadamente.
GOSTEI 0
Adriano Santos
30/08/2005
Chr(SuaString);
GOSTEI 0
Flaviosan
30/08/2005
Olá adriano
Essa função ta dando erro ´incompatible types´.
Eu faço uma variavel string receber o resultado de um copy que deve me retornar somente uma letra. Quando passo essa variavel pra função chr() ela me retorna um erro.
Vc sabe o que esta acontecendo?
Essa função ta dando erro ´incompatible types´.
Eu faço uma variavel string receber o resultado de um copy que deve me retornar somente uma letra. Quando passo essa variavel pra função chr() ela me retorna um erro.
Vc sabe o que esta acontecendo?
GOSTEI 0
Adriano Santos
30/08/2005
Como está a sua string?
Passa pra gente o trecho de código que tá usando.
Passa pra gente o trecho de código que tá usando.
GOSTEI 0
Flaviosan
30/08/2005
Lá vai:
var sCodArea1, sCodArea2 : String; chCodArea1, chCodArea1 : Char; begin sCodArea1 := Copy(´(18)0000-0000´, 2, 1); sCodArea2 := Copy(´(18)0000-0000´, 3, 1); chCodArea1 := chr(sCodArea1); //o erro acontece aqui ... ... end;
GOSTEI 0
Massuda
30/08/2005
sCodArea1 é uma string de tamanho 1. Como toda string é uma sequencia/array de char, você pode fazer assim...ou seja, não precisa do Chr para converter para Char. Mas como escrevi aí em cima que toda string é uma sequencia/array de char, nem precisa do Copy...
chCodArea1 := sCodArea1[1];
var s: string; ... s := ´(18)0000-0000´; chCodArea1 := s[2]; chCodArea2 := s[3]; ...
GOSTEI 0
Adriano Santos
30/08/2005
sCodArea1 é uma string de tamanho 1. Como toda string é uma sequencia/array de char, você pode fazer assim...ou seja, não precisa do Chr para converter para Char. Mas como escrevi aí em cima que toda string é uma sequencia/array de char, nem precisa do Copy...
chCodArea1 := sCodArea1[1];
var s: string; ... s := ´(18)0000-0000´; chCodArea1 := s[2]; chCodArea2 := s[3]; ...
Eu ia responder com bem menos detalhes, mas já que o [b:d69975b951]Massuda[/b:d69975b951] tah mais rápido que eu...rs....
procedure TForm1.Button2Click(Sender: TObject); var sCodArea1 : String; chCodArea2 : Char; begin chCodArea2 := sCodArea1[1]; Edit1.setfocus; keybd_event(VkKeyScan(chCodArea2),0,0,0); end;
GOSTEI 0
Flaviosan
30/08/2005
Obrigado Adriano e Massuda, mataram a pau.
GOSTEI 0
Dopi
30/08/2005
Ola Flavio,
Porque vc não usa a unit SndKey32.pas (que vem no CD do Delphi)
Veja esse tópico:
http://forum.clubedelphi.net/viewtopic.php?t=66119&highlight=sndkey32
Porque vc não usa a unit SndKey32.pas (que vem no CD do Delphi)
Veja esse tópico:
http://forum.clubedelphi.net/viewtopic.php?t=66119&highlight=sndkey32
GOSTEI 0
Flaviosan
30/08/2005
Beleza Daniel, vou dar uma olhada nessa unit, obrigado.
GOSTEI 0