Fórum Programa para Joystick #178294
28/08/2003
0
Boa tarde pessoal,
Eu comprei um joystick da microsoft mas o programinha da mesma que me permitiria criar macros para os botões naum está achando o meu joystick sendo que ele aparece no painel de controle e funciona normalmento nos jogos. Então pensei em desenvolver um programa onde eu diria o que cada botão iria fazer ao ser precionado. Fiz um exemploem casa e consegui capturar quantos botões e quantos eixos tem o joystick que está conectado no computador. Mas naum consegui fazer pra saber quando um botão é precionado ou não. Neste meu exemplo eu usava um checkbox para marcar quando o botão foi precionado ou não. Parecido com um exemplo que sai na revista ClubeDelphi na edição 41 eu acho (uma da capa azul que fala de interbase e firebird)
Alguém sabe onde eu poderia achar componentes, exemplos ou qualquer outra coisa que pudese me ajudar.
Só não coloco o meu código fonte pois este programa eu to fazendo em casa e agora estou no trabalho.
De qualquer forma agradeço a quem puder me ajudar e a todos que me derem atenção.
Eu comprei um joystick da microsoft mas o programinha da mesma que me permitiria criar macros para os botões naum está achando o meu joystick sendo que ele aparece no painel de controle e funciona normalmento nos jogos. Então pensei em desenvolver um programa onde eu diria o que cada botão iria fazer ao ser precionado. Fiz um exemploem casa e consegui capturar quantos botões e quantos eixos tem o joystick que está conectado no computador. Mas naum consegui fazer pra saber quando um botão é precionado ou não. Neste meu exemplo eu usava um checkbox para marcar quando o botão foi precionado ou não. Parecido com um exemplo que sai na revista ClubeDelphi na edição 41 eu acho (uma da capa azul que fala de interbase e firebird)
Alguém sabe onde eu poderia achar componentes, exemplos ou qualquer outra coisa que pudese me ajudar.
Só não coloco o meu código fonte pois este programa eu to fazendo em casa e agora estou no trabalho.
De qualquer forma agradeço a quem puder me ajudar e a todos que me derem atenção.
Raphael Oliveira
Curtir tópico
+ 0
Responder
Posts
28/08/2003
Raphael Oliveira
O Meu código é o seguinte:
É exatamente a parte dos checkbox que não está funcionando ele naum está mostrando o botão é acionado ou não. Os checkbox ficam todos marcados depois desmarcam e voltar a ficar marcados sozinho.
Gostaria que alguém desse uma olhada onde estou errando e me ajudasse.
unit UPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QCJoystick, StdCtrls, ExtCtrls, MMSystem;
// O QCJoystick é um componente de terceiros.
type
TForm1 = class(TForm)
Joy: TQCJoystick;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
txtjoy: TStaticText;
txtbotao: TStaticText;
txteixo: TStaticText;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
procedure FormCreate(Sender: TObject);
Procedure LerJoy (var B1, B2, B3, B4, B5, B6, B7, B8: Boolean);
procedure AtualizaJoy;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.AtualizaJoy;
var
B1, B2, B3, B4, B5, B6, B7, B8 : Boolean;
begin
B1 := True; B2 := True; B3 := True; B4 := True;
B5 := True; B6 := True; B7 := True; B8 := True;
LerJoy(B1,B2,B3,B4,B5,B6,B7,B8);
//Atualiza os checkbox conforme os botões forem precionados
Checkbox1.Checked := B1;
Checkbox2.Checked := B2;
Checkbox3.Checked := B3;
Checkbox4.Checked := B4;
Checkbox5.Checked := B5;
Checkbox6.Checked := B6;
Checkbox7.Checked := B7;
Checkbox8.Checked := B8;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
txtjoy.Caption := joy.JoystickName; // Recebe o nome do Joystick conectado no pc
txtbotao.Caption := inttostr(joy.Buttons); // Quantidade de Botões do joy
txteixo.Caption := inttostr(joy.Axes); // Quantidade de Eixos do Joy
end;
procedure TForm1.LerJoy(var B1, B2, B3, B4, B5, B6, B7, B8: Boolean);
var
myjoy: TJoyInfoEx;
begin
//Verifica os botões que estão sendo precionados.
B1 := (myjoy.wButtons and 1) > 0;
B2 := (myjoy.wButtons and 2) > 0;
B3 := (myjoy.wButtons and 3) > 0;
B4 := (myjoy.wButtons and 4) > 0;
B5 := (myjoy.wButtons and 5) > 0;
B6 := (myjoy.wButtons and 6) > 0;
B7 := (myjoy.wButtons and 7) > 0;
B8 := (myjoy.wButtons and 8) > 0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
atualizajoy;
end;
end. É exatamente a parte dos checkbox que não está funcionando ele naum está mostrando o botão é acionado ou não. Os checkbox ficam todos marcados depois desmarcam e voltar a ficar marcados sozinho.
Gostaria que alguém desse uma olhada onde estou errando e me ajudasse.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)