Gå til innhold

Anbefalte innlegg

hvordan kan man i deklphi ver 7 lese av statussen på joystikken min ?

jeg har en analog joystik koblet til gameporten lydkorted mitt

 

med status så mener jeg

hvormange joystkker som er koblet til

hvor mange knapper det er på de forskelige stiken

om de er analoge eller digitale

hvilken knaper som er trykke på på den bestemte stiken ( hvis flere )

hvor kraftig spaken er beveget

 

altså mest mulig status om joystiken

Lenke til kommentar
Videoannonse
Annonse

Du har to alternativer for programmering mot joystick'en din.

 

Alt.1: Win32 Multimedia API

Her bruker du api'et som ligger i mmsystem.pas (siden du har en graitsversjon av delphi har du neppe kildekoden ti denne fila, men legger du mmsystem til i uses-delen skal du få tilgang til funksjonene som finnes der)

 

For å først sjekke hvor mange joysitcks du har og hvilke funksjoner disse støtter bruker du joyGetNumDevs() og joyGetDevCaps().

For å sjekke status for joysticken (posisjon og hvilke knapper som er nede) bruker du joyGetPos() eller joyGetPosEx().

For å automatisk få beskjed når man rører på stikka bruker du joySetCapture() og fanger opp MM_JOY... meldingene.

 

Ta en titt på MSDN så finner du dokumentasjon og eksempler.

 

Alt.2: DirectX/DirectInput

Fungerer stort sett på samme måten. Må først spørre DirectX om hvilke input-enheter som finnes, så må du koble deg til en av dem, og deretter kan du polle status når du måtte ønske det. Så vidt jeg vet har du ikke mulighet til å få melding om når det skjer en endring slik som du kan med win32-api'et. Du må polle.

 

Som sagt så skal mmsystem være med i alle utgavene av delphi, men du har nok neppe kildekoden til den. Det finnes en alternativ oversettelse av windows-apiet som du kan bruke dersom du føler det nødvendig å ha kildekoden. Ta en titt her. Tror det er like greit å bruke MSDN som dokumentasjon på hva som skal ligge i fila og så bare bruke det...

 

-Vegar

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...