IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Cherche composant joystick pour Delphi7


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 82
    Points : 40
    Points
    40
    Par défaut Cherche composant joystick pour Delphi7
    Tout est dans le titre. Merci.
    Gabriel

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Je ne connais pas (mais n'ai pas cherché ) de composant tout fait.

    Mais voici un essai que j'avais fait à l'époque. (Je te le livre tel quel)
    D'après mes souvenir, il n'était pas possible de hooker le joystick. On devait cycliquement vérifier son état:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    unit Unit1;
     
    interface
     
    uses
      MMSystem,
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, AppEvnts, StdCtrls, ExtCtrls;
     
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    var
      JoyCaps :TJoyCaps;
    begin
      case JoySetCapture(Handle, JOYSTICKID1, 0, FALSE) of
        JOYERR_NOERROR    :Caption := 'JOYERR_NOERROR  ';
        MMSYSERR_NODRIVER :Caption := 'MMSYSERR_NODRIVER';
        JOYERR_PARMS      :Caption := 'JOYERR_PARMS    ';
        JOYERR_NOCANDO    :Caption := 'JOYERR_NOCANDO  ';
        JOYERR_UNPLUGGED  :Caption := 'JOYERR_UNPLUGGED';
        else Caption := '???';
      end;
     
      JoyGetDevCaps(JOYSTICKID1, @JoyCaps, SizeOf(TJoyCaps));
      Memo1.Lines.Add(inttoStr(JoyCaps.wNumButtons));
    end;
     
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
      joyReleaseCapture(JOYSTICKID1);
    end;
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
      JoyInfo :TJoyInfoEx;
    begin
      FillChar(JoyInfo, SizeOf(JoyInfo), #0);
      JoyInfo.dwSize := SizeOf(TJoyInfoEx);
      JoyInfo.dwFlags := JOY_RETURNALL;//JOY_RETURNBUTTONS;
      JoyGetPosEx(JOYSTICKID1, @JoyInfo);
      Memo1.Lines.Add('$' +IntToHex(JoyInfo.wButtons, 8));
    end;
     
    end.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 82
    Points : 40
    Points
    40
    Par défaut Cherche composant joystick pour Delphi7
    Hello et merci pour le bout de code.
    Celà me donne au minimum un exemple d'utilisation des fonctions joystick de mmsystem.
    Effectivement, il faut cycliquement tester l'état du joystick et ce n'est pas top.
    J'espérais trouver un composant tout fait avec un évènement style "OnjoystickButton1" mais celui que l'on trouve sur Internet (TJSTICK) ne s'installe pas sous Delphi7. Ce truc est shareware. Il ne fournit que le .dcu et à l'installation on récupère le célébrissime message "Une ou plusieurs lignes trop longues ont été tronquées" pour lequel je n'ai pas trouvé la soltution.
    Si je ne trouve rien je me rabatterai sur les fonctions MMSystem mais ça me tartine un peu !!
    merci encore
    Gabriel

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Salut,

    Tu veux le piloter via quelle API to Joystick ?

    --> API HID (norme de presque tous les appareils USB) : TJVHidComponent (dans la Jedi VCL)
    --> Port jeu : TJvJoystick (aussi dans la bibliothèque de composants Jedi VCL !)
    --> DirectX : unité directinput.pas (ou un truc dans le genre) dans la librairie "Clootie" :
    http://www.clootie.ru/delphi/download_dx90.html

    --> via Opengl : ça doit se trouver dans gl.pas (regarde le code source de Paul Toth dans le dernier défi Delphi, celui du jeu de serpent)

    Pour piloter mon Nostromo N50 sous Vista, j'utilise la première solution :
    http://nostromon50onvi.sourceforge.net/

    Sinon, en utilisant DirectInput ou OpenGL, ce n'est pas trop compliqué (par rapport à ce que j'ai pu en voir )
    Bidouilleuse Delphi

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 82
    Points : 40
    Points
    40
    Par défaut Cherche composant joystick pour Delphi7
    Bjr et merci pour les infos.
    J'ai téléchargé la librairie JEDI (le monstre !) et vu parmi les centaines de composants celui du joystick TJvJoystick.
    Juste en aparté, cette librairie reprend quasiment tous les composants standards de Delphi. Qu'ont-ils de plus que ceux d'origine ?
    Pour informer un peu plus notre internaute de Landernau (y a t'il toujours du bruit à Landernau ?), mes recherches ne sont pas pour piloter un joystick mais un petit montage électronique perso que je branche sur le port joystick inutilisé chez moi (les ports série sont tous occupés) et sur lequel je désire détecter le plus rapidement possible les fermetures / ouvertures de deux contacts.
    Les impédances de mon montage sont telles que mon PC le détecte comme "présence d'un joystick".
    Merci encore pour l'aide et bonjour à la Bretagne (Je vais chaque année en vacances à Locmariaquer dans le 56).
    Gabriel 78

  6. #6
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par f6dqm1 Voir le message
    Bjr et merci pour les infos.
    De rien !
    Citation Envoyé par f6dqm1 Voir le message
    Juste en aparté, cette librairie reprend quasiment tous les composants standards de Delphi. Qu'ont-ils de plus que ceux d'origine ?
    Tout plein de choses ! Mais il faut souvent trouver par soi même : bon nombre de composants ne sont pas documentés.
    Le mieux c'est d'expérimenter ce que font les composants grace à la "MégaDemo" et aux multiples petites demos annexes.
    Citation Envoyé par f6dqm1 Voir le message
    Pour informer un peu plus notre internaute de Landernau (y a t'il toujours du bruit à Landernau ?), mes recherches ne sont pas pour piloter un joystick mais un petit montage électronique perso que je branche sur le port joystick inutilisé chez moi (les ports série sont tous occupés) et sur lequel je désire détecter le plus rapidement possible les fermetures / ouvertures de deux contacts.
    Les impédances de mon montage sont telles que mon PC le détecte comme "présence d'un joystick".
    Oui, donc il faut que tu utilises TJVJoystick, au delà je suis largué côté électronique

    Sinon, si c'est juste des montages dans ce style (contact bouton poussoir), tu peux faire ton montage sur USB en utilisant:
    • d'une part interface USB universelle entre l'USB et le montage comme celles qu'on utilise pour monter sa borne de jeux d'arcade maison :
      celle-ci : http://www.ultimarc.com/ipac1.html
      ou celle-là : http://www.u-hid.com/ (tiens, il y a même une version "nano" sur leur page d'achat, je ne savais pas)
    • Tu utilises le composant TJVHidDeviceController pour piloter ton affaire.


    En plus, avec une seule et mme interface tu pourrais même piloter plusieurs de tes montages à la fois.

    Avoue que c'est pour que ton PC démarre la machine le café le matin !
    Bidouilleuse Delphi

Discussions similaires

  1. Cherche composants interface pour plusieurs champs texte
    Par jean_kevin_musclor dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 13/11/2013, 11h39
  2. Cherche composant OpenGL pour Builder6
    Par Ptite Développeuse dans le forum OpenGL
    Réponses: 1
    Dernier message: 20/03/2006, 19h12
  3. Cherche Composant pour développer un jeu sous DELPHI 6 ?
    Par baltagi dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/11/2005, 12h25
  4. Cherche composant comme TComPort mais pour l'USB
    Par Walm dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/04/2004, 15h57
  5. [Kylix] cherche composants pour les sockets
    Par coriolis dans le forum EDI
    Réponses: 1
    Dernier message: 09/04/2003, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo